UI TabView 和 UI Collection View

发表于 2018-09-09   |   分类于 Objectiv-C 课程

UITableView层次结构
UITableViewCell 层次结构

笔记部分

  1. Cell 重用原理

    1. 当滚动列表时,部分UITableViewCell会移出窗口。
    2. UITableView会将窗口外的UITableViewCell放入一个对象池中,等待重用。
    3. 当UITableView要求dataSource返回UITableViewCell时,dataSource会先查看这个对象池,如果池中有未使用的
      UITableViewCell,dataSource会用新的数据配置这个UITableViewCell,然后返回给UITableView,重新显示到窗口中,从

而避免创建新对象。

思考

  1. 有空需要看一看数据源和代理的知识

UIWebView 加载网页

发表于 2018-09-09   |   分类于 Objectiv-C 课程

1、创建UIWebView

CGRect bouds = [[UIScreen manScreen]applicationFrame]; 
UIWebView* webView = [[UIWebView alloc]initWithFrame:bounds];

2、设置属性

webView.scalespageToFit = YES;//自动对页面进行缩放以适应屏幕 
webView.detectsPhoneNumbers = YES;//自动检测网页上的电话号码,单击可以拨打

3、显示网页视图UIWebView

[self.view addSubview:webView];

4、加载内容

NSURL* url = [NSURL URLWithString:@"http://www.baidu.com"];//创建URL 
NSURLRequest* request = [NSURLRequest requestWithURL:url];//创建NSURLRequest 
[webView loadRequest:request];//加载

也可以加载一个本地资源

NSURL* url = [NSURL fileURLWithPath:filePath];//创建URL 
NSURLRequest* request = [NSURLRequest requestWithURL:url];//创建NSURLRequest 
[webView loadRequest:request];//加载

UIWebView 还支持将一个NSString对象作为源来加载。你可以为其提供一个基础URL,来指导UIWebView对象如何跟随链接和加载远程资源

[webView loadHTMLString:myHTML baseURL:[NSURL URLWithString:@"http://baidu.com"]];

UIAlertView 提醒框

发表于 2018-09-09   |   分类于 Objectiv-C 课程
   //初始化AlertView 
   UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"AlertViewTest"  
                                                   message:@"message"  
                                                  delegate:self  
                                         cancelButtonTitle:@"Cancel"  
                                         otherButtonTitles:@"OtherBtn",nil];  
    //设置标题与信息,通常在使用frame初始化AlertView时使用  
    alert.title = @"AlertViewTitle";  
    alert.message = @"AlertViewMessage";  
    //这个属性继承自UIView,当一个视图中有多个AlertView时,可以用这个属性来区分  
    alert.tag = 0;  
  //只读属性,看AlertView是否可见  
    NSLog(@"%d",alert.visible);  
    //通过给定标题添加按钮  
    [alert addButtonWithTitle:@"addButton"];  
    //按钮总数  
    NSLog(@"number Of Buttons :%d",alert.numberOfButtons);  
    //获取取消按钮的索引  
    NSLog(@"cancelButtonIndex:%d",alert.cancelButtonIndex);  
    //获取第一个其他按钮的索引  
    NSLog(@"firstOtherButtonIndex:%d",alert.firstOtherButtonIndex);  
    //显示AlertView  
    [alert show]; 
#pragma marks -- UIAlertViewDelegate --  
//根据被点击按钮的索引处理点击事件  
-(void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex  
{  
    NSLog(@"clickButtonAtIndex:%d",buttonIndex);  
}  
 //AlertView已经消失时执行的事件  
-(void)alertView:(UIAlertView *)alertView didDismissWithButtonIndex:(NSInteger)buttonIndex  
{  
    NSLog(@"didDismissWithButtonIndex");  
}  
  
//ALertView即将消失时的事件  
-(void)alertView:(UIAlertView *)alertView willDismissWithButtonIndex:(NSInteger)buttonIndex  
{  
    NSLog(@"willDismissWithButtonIndex");  
}  

UITextView 输入框

发表于 2018-09-09   |   分类于 Objectiv-C 课程
    // 初始化输入框并设置位置和大小
    UITextView *textView = [[UITextView alloc] initWithFrame:CGRectMake(10, 100, [UIScreen mainScreen].bounds.size.width - 20, 180)];
    // 设置预设文本
    textView.text = @"您的意见是我前进的最大动力,谢谢!";
    // 设置文本字体
    textView.font = [UIFont fontWithName:@"Arial" size:16.5f];
    // 设置文本颜色
    textView.textColor = [UIColor colorWithRed:51/255.0f green:51/255.0f blue:51/255.0f alpha:1.0f];
    // 设置文本框背景颜色
    textView.backgroundColor = [UIColor whiteColor];

    // 设置文本对齐方式
    textView.textAlignment = NSTextAlignmentLeft;
    // 设置自动纠错方式
    textView.autocorrectionType = UITextAutocorrectionTypeNo;
    // 设置是否可以拖动
    textView.scrollEnabled = YES;
    // 设置代理
    textView.delegate = self;
    //自适应高度
    textView.autoresizingMask = UIViewAutoresizingFlexibleHeight;
    [self.view addSubview:textView];

issue 24:UI 基础

发表于 2018-09-09   |   分类于 Objectiv-C 课程

笔记部分

  1. UIWindow对象是所有UIView的根视图,管理和协调的应用程序的显示、分发事件给View。
  2. UIWindow类是UIView的子类,可以看作是特殊的UIView。一般应用程序只有一个UIWindow对象,即使有多个UIWindow对象,也只有一个UIWindow可以接受到用户的触屏事件。UIWindow初始化在appDeleDgate里面的 didFinishLaunchingWithOptions方法。
  3. UIView类继承自UIResponder,负责在屏幕上定义一个矩形区域,视图用于展示界面及响应用户界面交互。每个视图对象都要负责渲染视图区域的内容,并响应该区域中发生的操作事件。
  4. 视图可以嵌套并管理子视图。子视图是指嵌入到另一视图对象内部的视图对象,而被嵌入的视图对象是父视图。
  5. UI控件基本介绍

    1. UIButton 按钮 按钮的作用是监听用户的点击时间,在用户点击后做出响应
    2. UILabel 文本标签 文本标签的作用是显示一串固定的文字
    3. UITextField 文本输入框 例如输入用户名或者是密码的部分,键入内容的区域
    4. UIImageView 图片的显示 用于显示图片,添加图片的
  6. UIButton的常见设置

    1. 设置按钮的文字:- (void)setTitle:(NSString *)title forState:(UIControlState)state
    2. 设置按钮的文字的颜色:- (void)setTitleColor:(UIColor *)color forState:(UIControlState)state;
    3. 设置按钮内部的小图片:- (void)setImage:(UIimage *)image forState:(UIControlState)state;
    4. 设置按钮的背景图片:- (void)setBackgroundImage:(UIImage *)image forState:(UIControlState)state;
  7. UILabel的常见属性

    1. 显示的文字:@property (nonatomic,copy) NSString *text;
    2. 字体:@property (nonatomic,retain) UIFont *font;
    3. 颜色:@property (nonatomic,retain) UIColor *textColor;
    4. 对齐模式:@property (nonatomic) NSTextAlignment textAlignment;
    5. 文字行数:@property (nonatomic) NSInteger numberOfLines;
    6. 换行模式:@property (nonatomic) NSInteger numberOfLines;
  8. UIImageView的常见属性

    1. 显示图片:@property (nonatomic,retain) UIImage *image;
    2. 显示动画图片:@property (nonatomic,copy) NSArray *animationImage;
    3. 动画图片的持续时间:@propert (nonatomic) NSTimeInterval animationDuration;
    4. 动画的播放次数(默认是0,代表是无限循环播放):@property (nonatomic) NSInteger animationRepeatCount;

思考

  1. 主要用 UI View 及其子类,UI Window 用的不多

作业

通过两种方式实现类似QQ登录界面

  • XIB布局约束实现登录界面
  • 纯代码实现登录界面

源文件

  • UI基础控件(2018-07-27).key
© 2019 Powered by Typecho & Theme 豫ICP备15027577号