`
jsntghf
  • 浏览: 2533163 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

不通过Interface Builder创建更改背景色的范例

    博客分类:
  • iOS
阅读更多

头文件:

 

#import <UIKit/UIKit.h>

@interface ColorViewController : UIViewController {
  UILabel *redValue, *greenValue, *blueValue;
  UISlider *redSlider, *greenSlider, *blueSlider;
}

@property(nonatomic, retain) UILabel *redValue;
@property(nonatomic, retain) UILabel *greenValue;
@property(nonatomic, retain) UILabel *blueValue;
@property(nonatomic, retain) UISlider *redSlider;
@property(nonatomic, retain) UISlider *greenSlider;
@property(nonatomic, retain) UISlider *blueSlider;

@end

 

实现文件:

 

#import "ColorViewController.h"

@implementation ColorViewController

@synthesize redValue, greenValue, blueValue;
@synthesize redSlider, greenSlider, blueSlider;

- (void)loadView {
  UIView *contentView = [[UIView alloc] initWithFrame:[[UIScreen mainScreen] applicationFrame]];
  [contentView setBackgroundColor:[UIColor blackColor]];
  self.view = contentView;
  
  redValue = [[UILabel alloc] initWithFrame:CGRectMake(10, 30, 30, 20)];
  redValue.text = @"0";
  redValue.textColor = [UIColor redColor];
  redValue.backgroundColor = [UIColor blackColor];
  
  greenValue = [[UILabel alloc] initWithFrame:CGRectMake(10, 90, 30, 20)];
  greenValue.text = @"0";
  greenValue.textColor = [UIColor greenColor];
  greenValue.backgroundColor = [UIColor blackColor];
  
  blueValue = [[UILabel alloc] initWithFrame:CGRectMake(10, 150, 30, 20)];
  blueValue.text = @"0";
  blueValue.textColor = [UIColor blueColor];
  blueValue.backgroundColor = [UIColor blackColor];
  
  [self.view addSubview:redValue];
  [self.view addSubview:greenValue];
  [self.view addSubview:blueValue];
	
  [redValue release];
  [greenValue release];
  [blueValue release];
  
  [self.view addSubview:self.redSlider];
  [self.view addSubview:self.greenSlider];
  [self.view addSubview:self.blueSlider];
  
  [contentView release];
}

- (UISlider *)redSlider{
  if(redSlider == nil){
    redSlider = [[UISlider alloc] initWithFrame:CGRectMake(50, 30, 255, 20)];
    [redSlider addTarget:self action:@selector(changeColor) forControlEvents:UIControlEventValueChanged];
    redSlider.maximumValue = 255.0;
    redSlider.minimumValue = 0.0;
    redSlider.value = 0.0;
    redSlider.continuous = YES;
  }
  return redSlider;
}

- (UISlider *)greenSlider{
  if(greenSlider == nil){
    greenSlider = [[UISlider alloc] initWithFrame:CGRectMake(50, 90, 255, 20)];
    [greenSlider addTarget:self action:@selector(changeColor) forControlEvents:UIControlEventValueChanged];
    greenSlider.maximumValue = 255.0;
    greenSlider.minimumValue = 0.0;
    greenSlider.value = 0.0;
    greenSlider.continuous = YES;
  }
  return greenSlider;
}

- (UISlider *)blueSlider{
  if(blueSlider == nil){
    blueSlider = [[UISlider alloc] initWithFrame:CGRectMake(50, 150, 255, 20)];
    [blueSlider addTarget:self action:@selector(changeColor) forControlEvents:UIControlEventValueChanged];
    blueSlider.maximumValue = 255.0;
    blueSlider.minimumValue = 0.0;
    blueSlider.value = 0.0;
    blueSlider.continuous = YES;
  }
  return blueSlider;
}

- (void)changeColor{
  NSString *redStr = [[NSString alloc] initWithFormat:@"%d", (int)redSlider.value];
  NSString *greenStr = [[NSString alloc] initWithFormat:@"%d", (int)greenSlider.value];
  NSString *blueStr = [[NSString alloc] initWithFormat:@"%d", (int)blueSlider.value];
  redValue.text = redStr;
  greenValue.text = greenStr;
  blueValue.text = blueStr;
	
  self.view.backgroundColor = [UIColor colorWithRed:[redValue.text floatValue]/255.0 green:[greenValue.text floatValue]/255.0 blue:[blueValue.text floatValue]/255.0 alpha:1.0]; 
	
  [redStr release];
  [greenStr release];
  [blueStr release];
}

- (void)dealloc {
  [super dealloc];
  [redSlider release];
  [greenSlider release];
  [blueSlider release];
  
  redSlider = nil;
  greenSlider = nil;
  blueSlider = nil;
  
  [redValue release];
  [greenValue release];
  [blueValue release];
	
  redValue = nil;
  greenValue = nil;
  blueValue = nil;
}

@end

 

示例图:


分享到:
评论

相关推荐

    xcode interface builder legacy

    本文将介绍Interface Builder的几个主要知识点,包括其基本概念、文档结构、用户界面元素以及如何通过Interface Builder创建和管理nib文件。 1. Interface Builder基本概念:Interface Builder的基本概念涉及到了...

    iphone 关于UITableView的排序,搜索、使用Interface Builder创建等

    本教程将深入探讨如何在iPhone应用中使用UITableView进行排序、搜索以及通过Interface Builder进行创建。 首先,我们来了解一下UITableView的基本概念。UITableView是一个视图控件,用于显示一列或多列数据,每个...

    不用interface builder.

    Interface Builder是Xcode中的一个组件,它允许开发者通过拖放的方式创建和布局UI元素,连接界面与代码,实现可视化设计。然而,有些开发者选择不使用它,而是完全依赖代码(通常是Swift或Objective-C)来构建用户...

    孙源-Interface Builder实践与开源

    孙源在MDCC 2015中国移动开发者大会上的演讲“Interface Builder实践与开源”涉及了iOS开发中一个关键的界面构建工具——Interface Builder(简称IB),以及相关的开源实践。IB是苹果公司在开发工具Xcode中提供的一...

    C++Builder与Windows API经典范例代码

    《C++Builder与Windows API经典范例代码》是面向C++Builder用户和Windows API爱好者的一份宝贵资源。这本书籍或代码集合提供了许多实用的示例,帮助开发者更好地理解和运用C++Builder集成开发环境(IDE)以及Windows...

    swift-一个在InterfaceBuilder和SwiftPlayground里面设计UI交互导航模式换场和动画

    在这个场景中,我们关注的是"swift-一个在InterfaceBuilder和SwiftPlayground里面设计UI交互导航模式换场和动画",这涉及到使用IBAnimatable库来提升UI设计和交互体验。 IBAnimatable是一个非常有用的开源工具,它...

    第五章 探索Interface Builder的例子

    在本章“第五章 探索Interface Builder的例子”中,我们将深入学习苹果的Interface Builder工具,它是iOS和macOS应用程序开发中的一个关键组件。Interface Builder是Xcode的一部分,允许开发者直观地设计用户界面,...

    ASP Web Database Interface Builder Pro v5.01b (c)

    ASP Web Database Interface Builder Pro v5.01b (c) Handy Productions-(2003-03-27)-3M-ROR含破解

    C++ Builder与Windows API经典范例

    《C++ Builder与Windows API经典范例》是一个深入探讨如何在C++ Builder环境中利用Windows API进行程序开发的实例集。Windows API(Application Programming Interface)是微软提供的一个接口,允许开发者直接与操作...

    C++Builder与Windows API经典范例(源码)

    本资料集中的“C++Builder与Windows API经典范例”旨在通过实例来深入解析如何结合这两者进行编程。 一、C++Builder基础知识 C++Builder基于Borland的C++编译器,支持面向对象编程,提供了一套图形化界面设计工具,...

    C++ Builder与Windows API经典范例_Ch5_Mouse Input Functions.rar

    《C++ Builder与Windows API经典范例:鼠标输入函数》 在C++ Builder开发Windows应用程序时,经常会涉及到与操作系统底层交互,这就是Windows API(Application Programming Interface)的作用。本章节主要探讨的是...

    PowerBuilder Native Interface

    通过PBNI,开发人员不仅可以在PowerBuilder应用程序中调用C/C++函数,还可以通过对象导向的方式进行调用,这意味着可以通过创建C/C++类的对象并在PowerBuilder中使用这些对象来访问其成员函数和属性。这种方式不仅...

    c_builder与windows.api经典范例

    在IT行业中,C++Builder是一款强大的RAD(快速应用程序开发)工具,它专为Windows平台上的C++编程设计,集成了Visual Component Library (VCL)框架,使得开发者能够快速构建图形用户界面应用程序。C++Builder与...

    C++Builder5.0高级开发技巧与范例

    《C++Builder5.0高级开发技巧与范例》是一本深入探讨C++Builder5.0编程技术的专业书籍,旨在帮助开发者掌握高级开发技巧并提供实际应用范例。BCB,即Borland C++ Builder,是Borland公司推出的可视化C++集成开发环境...

    C++Builder与WindowsAPI经典范例

    在这个经典范例中,你将通过实际的代码示例深入理解C++Builder与Windows API的结合使用,从而提高你的Windows桌面应用开发技能。这些范例通常会涵盖各种实际应用场景,如数据库连接、多媒体播放、网络通信等,帮助你...

    iPhone Application Programming L02: Interface Builder

    Interface Builder是Xcode集成开发环境的一部分,用于创建iOS应用程序的用户界面。此外,还深入探讨了Objective-C中的几个核心类,如`NSObject`、`NSString`、`NSArray`、`NSSet`和`NSDictionary`等,并对它们的功能...

    [iOS开发教程-2]Customize that UIViewCell – Part 1: Using Interface Builder

    在Interface Builder中,可以通过控制点(Control-drag)从控件到对应的UIViewController类来创建IBOutlet或IBAction连接。 在完成界面设计后,我们需要为自定义Cell创建一个Swift或Objective-C类,并让它继承自...

    Interface Builder Plug-In Programming Guide

    《Interface Builder插件编程指南》是苹果公司发布的一份详细文档,主要针对Mac平台上的开发者,旨在教授如何为Interface Builder(简称IB)开发插件。IB是Xcode的一部分,是苹果提供的一款强大的用户界面设计工具,...

Global site tag (gtag.js) - Google Analytics