iOS开发基础

第一课

UI-UIView父子类视图自动缩放

#import "XGOAppDelegate.h"

@implementation XGOAppDelegate

{

UIView *_backView;

}

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions

{

self.window = [[UIWindowalloc] initWithFrame:[[UIScreenmainScreen] bounds]];

UIView *view1 = [[UIView alloc] init];

view1.frame = CGRectMake(10, 30, 300, 30);

view1.backgroundColor = [UIColor redColor];

[self.window addSubview:view1];

UIView *view2 = [[UIView alloc] init];

view2.frame = CGRectMake(5, 5, 100, 20);

view2.backgroundColor = [UIColor yellowColor];

[view1 addSubview:view2];

UIView *view3 = [[UIView alloc] init];

view3.frame = CGRectMake(100, 5, 100, 20);

view3.backgroundColor = [UIColor blueColor];

[view1 addSubview:view3];

//得到父类视图,在这里view2、view3相当于子类视图,view1相当于父类视图

UIView *superView = view2.superview;

//将父类视图(view1)背景颜色设置为黑色

superView.backgroundColor = [UIColor blackColor];

//得到子类视图数组

NSArray *subViews = view1.subviews;

NSLog(@"count = %d",subViews.count);

//view2,view3变红了

//    for (UIView *view in subViews) {

//        view.backgroundColor = [UIColor redColor];

//    }

UIView *view = [subViews objectAtIndex:0];

view.backgroundColor = [UIColor redColor];

UIView *blueview = [[UIView alloc] init];

blueview.frame = CGRectMake(10, 100, 300, 30);

blueview.backgroundColor = [UIColorblueColor];

//如果子视图高度超出父视图,可用clipsToBounds属性:YES处理

blueview.clipsToBounds = YES;

[self.window addSubview:blueview];

UIView *greenView = [[UIView alloc] init];

greenView.frame = CGRectMake(10, 5, 200, 100);

greenView.backgroundColor = [UIColor greenColor];

//设置透明度,数越小,透明度越高

greenView.alpha = 0.5;

[blueview addSubview:greenView];

//自动布局

_backView = [[UIView alloc] init];

_backView.frame = CGRectMake(100, 300, 120, 120);

_backView.backgroundColor = [UIColor blackColor];

//准许子类视图自动布局

_backView.autoresizesSubviews = YES;

[self.windowaddSubview:_backView];

UIView *topView = [[UIView alloc] init];

topView.frame = CGRectMake(10, 10, 100, 100);

topView.backgroundColor = [UIColor orangeColor];

//设置自动布局方式宽度随着父类自动增加

//    topView.autoresizingMask = UIViewAutoresizingFlexibleWidth;

//如果宽度与高度同时增加用或 | 表示

topView.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;

[_backView addSubview:topView];

[NSTimerscheduledTimerWithTimeInterval:0.5target:selfselector:@selector(timeTick) userInfo:nilrepeats:YES];

// Override point for customization after application launch.

self.window.backgroundColor = [UIColor whiteColor];

[self.windowmakeKeyAndVisible];

returnYES;

}

-(void)timeTick

{

_backView.frame = CGRectMake(_backView.frame.origin.x, _backView.frame.origin.y, _backView.frame.size.width+5, _backView.frame.size.height+5);

}

@end

时间: 2024-11-05 18:44:03

iOS开发基础的相关文章

iOS开发基础知识--碎片32

 iOS开发基础知识--碎片32 1:动画属性UIViewAnimationOptions说明 a:常规动画属性设置(可以同时选择多个进行设置) UIViewAnimationOptionLayoutSubviews:动画过程中保证子视图跟随运动. UIViewAnimationOptionAllowUserInteraction:动画过程中允许用户交互. UIViewAnimationOptionBeginFromCurrentState:所有视图从当前状态开始运行. UIViewAnimat

iOS开发基础知识--碎片1

iOS开发基础知识--碎片1  一:NSString与NSInteger的互换 NSInteger转化NSString类型:[NSString stringWithFormat: @"%d", NSInteger]; NSString转化 NSInteger类型:NSInteger = [NSString intValue]; *其它几个同理 [NSString boolValue].[NSString floatValue].[NSString doubleValue] 二:Obje

iOS开发基础知识--碎片3

iOS开发基础知识--碎片3  iOS开发基础知识--碎片3 十二:判断设备 //设备名称 return [UIDevice currentDevice].name; //设备型号,只可得到是何设备,无法得到是第几代设备 return [UIDevice currentDevice].model; //系统版本型号,如iPhone OS return [UIDevice currentDevice].systemVersion; //系统版本名称,如6.1.3 return [UIDevice

iOS开发基础知识--碎片2

iOS开发基础知识--碎片2 六:获得另一个控件器,并实现跳转 UIStoryboard* mainStoryboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil]; UIViewController *registerViewController = [mainStoryboard instantiateViewControllerWithIdentifier:@"registerView

iOS开发基础-九宫格坐标(4)

对iOS开发基础-九宫格坐标(3)的代码进行进一步优化. 新建一个 UIView 的子类,并命名为 WJQAppView ,将 appxib.xib 中的 UIView 对象与新建的视图类进行关联.  WJQAppView 类中声明3个 IBOutlet 属性,与 appxib.xib 中的视图对象包含的 UIImageView . UILabel 和 UIButton 建立连接. WJQAppView 头文件代码如下所示: 1 //WJQAppView.h 2 @interface WJQAp

iOS开发基础-图片切换(2)

延续:iOS开发基础-图片切换(1),对(1)里面的代码进行改善. 在 ViewController 类中添加新的数组属性:  @property (nonatomic, strong) NSArray *infoArray; //存放图片信息 通过 self.infoArray 的 getter 方法对其实现初始化(懒加载),其中代码中的 _infoArray 不能用 self.infoArray 替换: 1 //infoArray的get方法 2 - (NSArray *)infoArray

IOS开发基础环境搭建

一.目的 本文的目的是windows下IOS开发基础环境搭建做了对应的介绍,大家可根据文档步骤进行mac环境部署: 二.安装虚拟机 下载虚拟机安装文件绿色版,点击如下文件安装 获取安装包:          百度网盘:链接:http://pan.baidu.com/s/1c28EkpE 密码:93tl 解压后如下,点击如下脚本进行安装:按提示进行: 服务配置(按需配置): 这里仅限配置网络功能即可:选择1 回车-选择桥接模式 选择2启用桥接服务 三.安装macos虚拟机 注意:查看本机cup类型

IOS开发基础之—MD5加密算法

IOS开发基础之—MD5加密算法 MD5加密算法,实现类别如下: #import <CommonCrypto/CommonDigest.h> @interface NSString (md5) -(NSString *) md5HexDigest; @end #import "NSString+MD5HexDigest.h" @implementation NSString (md5) -(NSString *) md5HexDigest { const char *ori

iOS开发基础知识--碎片23

iOS开发基础知识--碎片23  1:关于UITableView中关于行重复加载的问题 在Cell里重写prepareForReuse,对一些控件进行清空: 比较简单: -(void)prepareForReuse{ [super prepareForReuse]; _content_label.text = nil; _time_date_label.text = nil; _name_label.text = nil; _career_label.text = nil; } 下面这个是我在c

iOS开发基础-图片切换(3)

延续:iOS开发基础-图片切换(2),对(2)里面的代码用属性列表plist进行改善. 新建 Property List 命名为 Data 获得一个后缀为 .plist 的文件. 按如图修改刚创建的文件: 最后,修改 infoArray 的 getter 方法: 1 //infoArray的getter方法 2 - (NSArray *)infoArray { 3 NSLog(@"需要获取图片信息数组"); 4 //只实例化一次 5 if (_infoArray == nil) { 6