awakefromnib(ios里的enbed in里有两个选项是什么意思 scroll view stack view)

2023-12-26 08:40:08 23

awakefromnib(ios里的enbed in里有两个选项是什么意思 scroll view stack view)

本篇文章给大家谈谈awakefromnib,以及ios里的enbed in里有两个选项是什么意思 scroll view stack view对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。

本文目录

ios里的enbed in里有两个选项是什么意思 scroll view stack view

scrollView:1. 介绍scrollView一些属性 1》.要想使用scrollView必须做两件事 1).设置scrollView内容 2).设置contentSize (滚动范围)2》.其他属性 1). contentOffset(滚动位置) 2). contentInset(额外增加的滚动区域) 3). bounces (设置UIScrollView是否需要弹簧效果) 4). crollEnabled (设置UIScrollView是否能滚动) 5). showsHorizontalScrollIndicator (是否显示水平滚动条) 6). showsVerticalScrollIndicator (是否显示垂直滚动条)2. 代理 1》代理思想两个思想 1).监听思想:B监听A发生了什么事情 2).通知思想:A发生了一些事情,要通知B去做 2》scrollView的代理使用 1).如何成为代理(三步) *声明协议 *设置代理对象self.scrollView.delegate = self; *实现协议方法 2).代理监听scrollView的拖拽事件// 开始拖拽 - (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView; // 结束拖拽 - (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate; // scrollView滚动时执行 - (void)scrollViewDidScroll:(UIScrollView *)scrollView 3).用代理实现缩放*成为UIScrollView的代理() *设置缩放对象(通过viewForZoomingInScrollView方法) *设置缩放为范围(maximumZoomScale、minimumZoomScale)3. 定时器创建两种方式1》. self.timer = ; 当另一个scrollView运行时,会停止定时器的scrollView,只能执行一个scrollView. 2》. self.timer = ;4. 自定义协议并使用1》.定义协议(三步) *定义protocol(两种optional) *增加代理属性(weak) @property (weak, nonatomic) id《LFAppInfoViewDelegate》 delegate; *给代理发消息,调用代理的方法(需要判断代理对象是否实现了该方法,不判断调用后(编译时不会)会报错) 注意:定义协议的名称命名2》.使用代理(三步)*声明协议 *设置代理对象 *实现协议方法(本例是在代理对象 添加一个UILabel)tableView:1. UITableView 需要设置数据源才能显示数据 1》.会向数据源查询一共多少组,每组多少行,每行显示什么数据 2》.数据源必须遵守UITableViewDateSource协议 3》 一共有多少组 - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView{} 第section组有多少行 - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{} 每一行显示什么内容 - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{} 第section组头部显示什么标题 - (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section{} 第section组底部显示什么标题 - (NSString *)tableView:(UITableView *)tableView titleForFooterInSection:(NSInteger)section{} 当每一行的cell的高度不一致的时候就使用代理方法设置cell的高度 - (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{} 当每一行的cell高度一致的时候使用属性设置cell的高度 self.tableView.rowHeight = 60; 可以优化内存的可变数组定义 NSMutableArray *models = 2. cell常见属性 1》.cell.textLabel.text 标题 2》.cell.detailTextLabel.text 介绍 3》.cell.imageView.image 图片 4》.cell.accessoryView 辅助视图 5》.cell.accessoryView 自定义辅助视图 6》.cell.backgroundView 设置cell的背景颜色 1).通过backgroundColor 和 backgroundView都可以设置cell的背景 2).但是backgroundView 的优先级比 backgroundColor的高 3).所以如果同时设置了backgroundColor和backgroundView, backgroundView会盖住backgroundColor7》.cell.selectedBackgroundView 设置选中状态的背景3. UITableView常见属性 1》. tableview.separatorStyle 设置分割线样式 2》. tableview.separatorColor 设置分割线颜色 自定义颜色 ;获取屏幕宽度: .bounds.size.width;3》. tableview.tableHeaderView 设置tableView的头部视图 一般用于放广告 4》. tableview.tableFooterView 设置tableView的底部视图 一般用于放置加载更多按钮 5》. ; 刷新表格 // 刷新指定行 NSIndexPath *path = ;4. 优化cell的方法 1》.先去缓存池中查找是否有满足条件的Cell UITableViewCell *cell = ;2》.如果缓存池中没有符合条件的cell,就自己创建一个Cell if (nil == cell) { cell = ; }3》.创建Cell, 并且设置一个唯一的标记 : identifier 注 : 定义变量 NSString *identifier 推荐用 static定义静态局部变量,不推荐用宏.4》.设置cell数据并返回cell5. tableView代理方法 1》. - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{} //当某一行被选中的时候调用 2》. - (void)tableView:(UITableView *)tableView didDeselectRowAtIndexPath:(NSIndexPath *)indexPath{} //当某一行取消选中的时候调用 3》. UIAlertView的一些属性和代理方法 1). UIAlertView *alert = ; //创建一个弹窗 2). alert.alertViewStyle = UIAlertViewStyle...; //设置alert的样式, 让alert显示出uitextfield3). UITextField *textField = ; //获取alert中的textfield4). ; //显示弹窗 5). - (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex{} // alertView的按钮被点击的时候就会调用6. 自定义cell两种方式 1》. 纯代码:每个cell子控件的个数和位置不一样 2》. 通过xib: cell一样且固定的界面 加载xib的方式:1). ;2).UINib *nib = ; 3》. 延迟调用 dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(3.0 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ }); 4》.init方法只有通过代码创建控件的时候才会调用; awakeFromNib方法在控件通过xib或者storyboard创建的时候才会调用 5》. 协议规范 协议名称 : 控件名称 + Delegate 协议方法名称:控件名称去掉前缀 + 含义 在协议方法中将自己(触发发放的)控件传出去的目的是方便用于区分哪个控件触发了该方法 6》. 代码创建的子控件,添加到contentView中 ;7》. 计算文字宽高 CGSize *maxSize = CGSizeMake(300, MAXFLOAT); // 设置文字范围 NSDictionary *dict = @{NSFontAttributeName : font}; // 字体 // 如果将来计算的文字的范围超出了指定的范围,返回的就是指定的范围 // 如果将来计算的文字的范围小于指定的范围, 返回的就是真实的范围 CGSize size = .size; // 计算文字宽高 8》.通过代码自定义cell的方法 1).新建一个继承自UITableViewCell的类 2).重写initWithStyle:reuseIdentifier:方法 添加所有需要显示的子控件(不需要设置子控件的数据和frame, 子控件要添加到contentView中) 进行子控件一次性的属性设置(有些属性只需要设置一次, 比如字体\固定的图片)3).提供2个模型 数据模型: 存放文字数据\图片数据 frame模型: 存放数据模型\所有子控件的frame\cell的高度 4).cell拥有一个frame模型(不要直接拥有数据模型)5).重写frame模型属性的setter方法: 在这个方法中设置子控件的显示数据和frame6).frame模型数据的初始化已经采取懒加载的方式(每一个cell对应的frame模型数据只加载一次)7. 通知机制 1》. 通知中心(NSNotificationCenter) 每一个应用程序都有一个通知中心(NSNotificationCenter)实例,专门负责协助不同对象之间的消息通信 创建通知中心 NSNotificationCenter *center = ;2》. 一个完整的通知一般包含3个属性: - (NSString *)name; // 通知的名称 - (id)object; // 通知发布者(是谁要发布通知) - (NSDictionary *)userInfo; // 一些额外的信息(通知发布者传递给通知接收者的信息内容)3》. 初始化一个通知(NSNotification)对象 + (instancetype)notificationWithName:(NSString *)aName object:(id)anObject; + (instancetype)notificationWithName:(NSString *)aName object:(id)anObject userInfo:(NSDictionary *)aUserInfo; - (instancetype)initWithName:(NSString *)name object:(id)object userInfo:(NSDictionary *)userInfo;4》. 通知中心(NSNotificationCenter)提供了相应的方法来发布通知 - (void)postNotification:(NSNotification *)notification; // 发布一个notification通知,可在notification对象中设置通知的名称、通知发布者、额外信息等 - (void)postNotificationName:(NSString *)aName object:(id)anObject; // 发布一个名称为aName的通知,anObject为这个通知的发布者 - (void)postNotificationName:(NSString *)aName object:(id)anObject userInfo:(NSDictionary *)aUserInfo; // 发布一个名称为aName的通知,anObject为这个通知的发布者,aUserInfo为额外信息 5》.注册通知监听器(Observer) - (void)addObserver:(id)observer selector:(SEL)aSelector name:(NSString *)aName object:(id)anObject; observer:监听器,即谁要接收这个通知 aSelector:收到通知后,回调监听器的这个方法,并且把通知对象当做参数传入 aName:通知的名称。如果为nil,那么无论通知的名称是什么,监听器都能收到这个通知 anObject:通知发布者。如果为anObject和aName都为nil,监听器都收到所有的通知 6》. 取消注册通知监听器 通知中心不会保留(retain)监听器对象,在通知中心注册过的对象,必须在该对象释放前取消注册。否则,当相应的通知再次出现时,通知中心仍然会向该监听器发送消息。因为相应的监听器对象已经被释放了,所以可能会导致应用崩溃 - (void)removeObserver:(id)observer; - (void)removeObserver:(id)observer name:(NSString *)aName object:(id)anObject; 一般在监听器销毁之前取消注册(如在监听器中加入下列代码): - (void)dealloc { //; }7》. 通知和代理的选择 1).共同点 利用通知和代理都能完成对象之间的通信 2).不同点 代理 : 一对一关系(1个对象只能告诉另1个对象发生了什么事情)通知 : 多对多关系(1个对象能告诉N个对象发生了什么事情, 1个对象能得知N个对象发生了什么事情)8. 键盘通知 UIKeyboardWillShowNotification // 键盘即将显示 UIKeyboardDidShowNotification // 键盘显示完毕 UIKeyboardWillHideNotification // 键盘即将隐藏 UIKeyboardDidHideNotification // 键盘隐藏完毕 UIKeyboardWillChangeFrameNotification // 键盘的位置尺寸即将发生改变 UIKeyboardDidChangeFrameNotification // 键盘的位置尺寸改变完毕 附带跟键盘有关的额外信息(字典),字典常见的key如下: UIKeyboardFrameBeginUserInfoKey // 键盘刚开始的frame UIKeyboardFrameEndUserInfoKey // 键盘最终的frame(动画执行完毕后) UIKeyboardAnimationDurationUserInfoKey // 键盘动画的时间 UIKeyboardAnimationCurveUserInfoKey // 键盘动画的执行节奏(快慢) 9. 其他 1》. 子控件不显示排错方法 1).查看是否调用添加的方法 2).frame为空(没有设置frame)3).hidden 是否为yes4).alpha 《=0.15).没有添加到父控件中 6).查看夫控件有没有以上几点 但凡在init方法中获取到的frame都是0 - (void)layoutSubviews { ; // 该方法在控件的frame被改变的时候就会调用 // 该方法一般用于调整子控件的位置 } 2》. // 已经被添加到父视图上的时候会调用 - (void)didMoveToSuperview { } // 即将被添加到父视图上的时候会调用 - (void)willMoveToSuperview:(UIView *)newSuperview { }3》 UITextField中添加左右视图 self.textField.leftView = ; // 设置右边视图的显示模式 self.textField.rightViewMode = UITextFieldViewModeAlways;4》. // 设置btn中的图片不填充整个imageview btn.imageView.contentMode = UIViewContentModeCenter; // 超出范围的图片不要剪切 // btn.imageView.clipsToBounds = NO; btn.imageView.layer.masksToBounds = NO;

ios 在storyboard里面自定义collectionviewcell的awakefromnib为什么会调用多次

官方帮助文档中有个CollectionView-Simple的例子,你可以参考下。就是自定义了一个view,然后赋给了cell的selectedBackgroundView属性,当cell被选择时,这个view就出现了。你可以在这个自定义的view类中写些处理代码。例子中使用的时storyboard,当点击cell时会跳转到后续页面。~如果你认可我的回答,请及时点击【采纳为满意回答】按钮~~手机提问的朋友在客户端右上角评价点【满意】即可。~你的采纳是我前进的动力~~O(∩_∩)O,记得好评和采纳,互相帮助,谢谢。

OK,关于awakefromnib和ios里的enbed in里有两个选项是什么意思 scroll view stack view的内容到此结束了,希望对大家有所帮助。

awakefromnib(ios里的enbed in里有两个选项是什么意思 scroll view stack view)

本文编辑:admin
: awakefromnib,ie,

更多文章:


手机怎么连不上无线网(手机连接不上无线网络怎么解决)

手机怎么连不上无线网(手机连接不上无线网络怎么解决)

本文目录手机连接不上无线网络怎么解决手机连接不了wifi是什么原因手机连不上家里wifi是怎么回事手机连不上无线网怎么回事手机怎么连不上wifi的原因是什么手机连不上无线网是怎么回事,怎么办手机连接不上无线网络怎么解决   随着智能手机的普

2024年7月24日 05:20

联想小新15重装系统(联想笔记本小新电脑怎么还原系统)

联想小新15重装系统(联想笔记本小新电脑怎么还原系统)

本文目录联想笔记本小新电脑怎么还原系统联想小新air15恢复出厂设置offie会重新激活吗小新笔记本重装系统提示是加密联想小新air15加装硬盘需要重装系统吗联想小新Air15笔记本怎么安装win7系统请问联想小新15装了其他系统后想装回原

2024年1月15日 23:45

d7000是全幅还是半幅(全幅照相机和半幅相机拍出来的照片,都有什么差距)

d7000是全幅还是半幅(全幅照相机和半幅相机拍出来的照片,都有什么差距)

本文目录全幅照相机和半幅相机拍出来的照片,都有什么差距尼康d7000的用户想要升级相机,应该选尼康d500还是尼康d750全画幅镜头用到半画幅相机上,拍摄出来会是什么效果与之相反呢全画幅镜头用在半画幅机身上会有问题吗手上有一套尼康D7000

2024年6月2日 07:34

为什么王自如还混得这么好(王自如收了手机厂商那么多钱,是被手机厂商养着的吗)

为什么王自如还混得这么好(王自如收了手机厂商那么多钱,是被手机厂商养着的吗)

本文目录王自如收了手机厂商那么多钱,是被手机厂商养着的吗王自如在西安翻译学院读了三年后,转到香港理工大学读的到底是什么专业为什么他一个学英语的现在能从事混得好的男人,都有哪些“大智慧”为什么有些人连小学还没毕业却在社会上混得不错为什么职场上

2024年6月15日 17:52

诺基亚x6系统(诺基亚x6的操作系统是什么)

诺基亚x6系统(诺基亚x6的操作系统是什么)

本文目录诺基亚x6的操作系统是什么诺基亚x6手机是什么系统 有什么不好的地方我的诺基亚X6操作系统升级了,但不稳定,如何恢复原来的操作系统呢诺基亚X6系统怎么更新到最新版本诺基亚X6,5230,5320XM分别是什么系统诺基亚X6升级安卓9

2024年5月26日 14:11

三星s53参数(三星S5380D的功能参数)

三星s53参数(三星S5380D的功能参数)

其实三星s53参数的问题并不复杂,但是又很多的朋友都不太了解三星S5380D的功能参数,因此呢,今天小编就来为大家分享三星s53参数的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!本文目录三星S5380D的功能参数三星n

2024年9月28日 06:20

苹果xr升级ios15(iPhoneXR升级iOS15.5测试版:电池更耐用,推荐升级)

苹果xr升级ios15(iPhoneXR升级iOS15.5测试版:电池更耐用,推荐升级)

本文目录iPhoneXR升级iOS15.5测试版:电池更耐用,推荐升级xr升级15.6正式版怎么样XR更新ios15会卡吗iphonexr升级ios15怎么样iPhoneXR升级iOS15.5测试版:电池更耐用,推荐升级 苹果昨天凌晨发布的

2024年7月14日 04:34

摩托xt720(摩托xt720)

摩托xt720(摩托xt720)

各位老铁们,大家好,今天由我来为大家分享摩托xt720,以及摩托xt720的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站,您的支持是我们最大的动力,谢谢大家了哈,下面我们开始吧!本文目录摩托xt720摩托XT72

2024年9月19日 05:40

acclaimed(acclaim是什么意思)

acclaimed(acclaim是什么意思)

本文目录acclaim是什么意思acclaime和compliment和praise有什么区别critically-acclaimed是什么意思acclaim是什么意思acclaim英v.称赞; 赞扬; 向…欢呼; 向…喝彩n.公开赞扬;

2024年1月24日 02:50

电脑耗材清单及价格明细(办公耗材包括哪些)

电脑耗材清单及价格明细(办公耗材包括哪些)

本文目录办公耗材包括哪些办公耗材都包括什么电脑耗材包括哪些,电脑耗材价格明细,电脑耗材明细电脑耗材清单电脑耗材都包括哪些东西办公耗材包括哪些1、打印耗材:硒鼓、墨盒、色带、粉盒、组件。2、装订耗材:装订夹条、装订胶圈、装订透片、皮纹纸。3、

2024年7月22日 10:11

W541可以升级CPU吗?w541有光驱吗

W541可以升级CPU吗?w541有光驱吗

本文目录W541可以升级CPU吗w541有光驱吗w541在2019年相当于什么档次的电脑w541为什么二手水深W541m2固态硬盘支持什么协议W541可以升级CPU吗W541可以升级CPU。惠普541笔记本CPU最高升级型号为T9900,再

2024年6月26日 23:06

近期文章

本站热文

电脑包尺寸对照表(电脑包要多大)
2024-07-23 11:15:58 浏览:3883
e10000(皖E10000是什么车)
2024-07-17 11:22:25 浏览:3506
ati radeon hd 5650(电脑的显卡是ATI Mobility Radeon HD 5650 (MADION PRO) ( 1 GB ) 这个显卡)
2024-07-07 05:01:37 浏览:3100
华为mate20pro版本区别(mate20pro有必要买ud版吗)
2024-07-24 08:26:42 浏览:2631
ipad买蜂窝版还是wifi版(ipad air 5买蜂窝好不好)
2024-07-17 14:35:19 浏览:2237
vivo y3配置参数(vivoy3参数是什么)
2024-07-16 07:07:06 浏览:2071
标签列表

热门搜索