首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

何在onCreate获取View高度宽度

何在onCreate获取View高度宽度 在开发过程中经常需要获取到View宽和高,可以通过View.getWidth()View.getHeight()来得到宽高。...然而新手们经常在onCreate方法中直接调用上面两个方法得到值是0! 这是为什么呢? 因为View绘制是通过两个遍历来完成,一个measure过程,一个layout过程。...只有经过“测量”“布局”之后,View才能正确地完成绘制。而这一切是发生在onCreate方法之后。...所以在onCreate中直接使用View.getWidth()View.getHeight()是无法得到正确。 那应该怎么onCreate获取View宽高呢?...开发者可以通过View.post()方法来获取到View宽高,该方法传递一个Runnable参数,然后将其添加到消息队列,最后在UI线程执行。

5.3K20

UIAlertView、UIActionSheet、UIAlertController使用

UIAlertControllerStyleActionSheetUIAlertControllerStyleAlert,如果UIAlertController对象preferredStyle属性取值为...UIAlertControllerStyleActionSheet,那么其作用效果就相当于iOS8被废弃UIActionSheet。...想反,如果UIAlertController对象preferredStyle属性取值为UIAlertControllerStyleAlert,那么其作用效果就相当于iOS8被废弃UIAlertView...我们知道,使用UIAlertViewUIActionSheet需要遵守对应协议并实现相应方法,因为UIAlertViewUIActionSheet采用delegate方式处理事件。...而UIAlertController则采用灵活block方式处理事件。所以使用UIAlertController不用再遵守某个协议,只需将响应事件代码写在block即可。

6.2K30
您找到你想要的搜索结果了吗?
是的
没有找到

iOS8统一系统提示控件——UIAlertController

iOS8统一系统提示控件——UIAlertController 一、引言         相信在iOS开发,大家对UIAlertViewUIActionSheet一定不陌生,这两个控件在UI设计中发挥了很大作用...在iOS8之后,系统吸引了UIAlertController这个类,整理了UIAlertViewUIActionSheet这两个控件,在iOS,如果你扔使用UIAlertViewUIActionSheet...,系统只是会提示你使用新方法,iOS9,这两个类被完全弃用,但这并不说明旧代码将不能使用,旧代码依然可以工作很好,但是会存在隐患,UIAlertController,不仅系统推荐,使用更加方便,...,可以使某个按钮更加突出,只能设置已经在actions数组AkertAction,会使设置按钮更加显眼,如下: ?...,虽然也可以添加textField,但是定制化能力非常差,这个新方法中有一个configurationHandler代码块,可以将textField相关设置代码放入这个代码块,并且这个方法添加textField

59110

升级IOS8游戏上传自定义头像功能失效问题

第一个问题:点击后无响应 原因是 UIActionSheet showInView方法参数上,之前设置是self.view.window (NSInvalidArgumentException,...原因是UIActionSheet在ios8已经被弃用了(点击查看详情>>),使用UIAlertController进行替代,这里有两篇文件介绍它: UIAlertController in IOS8>...中午吃过饭,再看那个crash地方 cocos2d-xCCDictionary.cpp  objectForKey方法断点挂掉了 ?...日志显示其实游戏已经启动了,都开始请求CDN上资源了,只是界面还停留在重启那个界面,但崩溃点却挂在了CCDictionary.cpp。...作为手游开发人员,要学习掌握知识比较广:C++底子要用吧,Lua至少能用很顺手吧,Android要比较熟悉吧(不然怎么接SDK,修一些bug呢),IOS也是一样,不然就像我经常面临问题一样,各平台上键盘

62620

iOS-UI控件之UITableView(三)- 自定义不等高cell

Storyboard_不等高 对比自定义等高cell,需要几个额外步骤(iOS8开始才支持) 添加子控件contentView之间间距约束 设置tableViewCell真实行高估算行高...// 告诉tableView所有cell真实高度是自动计算(根据设置约束来计算) self.tableView.rowHeight = UITableViewAutomaticDimension...如果要支持iOS8之前 如果cell内部有自动换行label,需要设置preferredMaxLayoutWidth属性 - (void)awakeFromNib { // 手动设置文字最大宽度...(目的是:让label知道自己文字最大宽度,进而能够计算出自己frame) self.text_label.preferredMaxLayoutWidth = [UIScreen mainScreen...].bounds.size.width - 20; } 设置tableViewcell估算高度 // 告诉tableView所有cell估算高度(设置了估算高度,就可以减少tableView:heightForRowAtIndexPath

833100

iOS 设置tableViewCell高度

前言 iOS tableViewcell在显示之前必须获取cell高度,如果cell高度都一样,统一设置就行了,但是cell高度不统一的话就要一一设置了,在ios8之前,需要自己手动去计算,iOS...之后就方便多了 iOS8以下(不包含iOS8) 定义全局变量 //用于缓存计算高度cell var offscreenCells:[String:AnyObject] = [:]; 保存计算高度Cell...view以下约束 宽度高度(假设为宽100 高100) 水平居中 距离顶部距离(=10) 距离底部距离(>=10) 这样设置之后UITableViewAutomaticDimension就可以算出该cell...(Priority)就起作用了,一般我们添加约束优先级默认都是1000,系统自己添加这个约束也是1000,我们只要降低我们自己view高度约束优先级就行了,设置高度约束优先级为750,这样当系统估算后添加估算高度后...,我们自己设置高度就不起作用了。

2.3K30

ios学习7_iPhone屏幕尺寸、分辨率及适配

(s)时,在逻辑上宽度不变高度稍高,之前旧素材布局通过AutoresizingFlexible简单适配即可运行得很好,但由于高宽比增大,上下两端出现黑粗边(典型LaunchImage)。...(2)按高度适配 在同样宽度下,iPhone4(s)屏高比iPhone5(s)低,若纵向排版紧张,可以iPhone5(s)为基准,按高度适配: fitScreenHeight= height...(3)按字体适配 另外,iPhone设置】【通用】【辅助功能】可以设置调节【更大字体】,APP也可以按字号适配: 例如适配表视图(UITableView:UIScrollView...注意限定控件元素内容区域宽度以及间距,并设置适当LineBreakMode。表视图支持上下滑动,因此纵向上表格行高内容区域高度可按字号缩放。...苹果在WWDC2012 iOS6就已提出了Auto Layout概念,即使用约束条件来定义视图位置尺寸,以适应不同尺寸分辨率屏幕。

2.2K20

iOS---iPad开发及iPad特有的特技

1.在控制器得到设备旋转方向 在 iOS8及以后,屏幕就只有旋转后屏幕尺寸之分,不再是过期旋转方向。...Dock宽度高度 // 获取屏幕旋转动画执行时间 CGFloat duration = [coordinator transitionDuration]; [UIView...animateWithDuration:duration animations:^{ }]; } 2.iPadModal弹出控制器方式样式 Modal常见有4种呈现样式 控制器属性 modalPresentationStyle...UIModalPresentationFullScreen :全屏显示(默认) UIModalPresentationPageSheet 宽度:竖屏时宽度(768) 高度:当前屏幕高度(填充整个高度...设置popView大小(默认控制器有多大就显示多大)(120, 44 * 3) UIPopoverController方法popoverContentSize 内容控制器设置方法 self.preferredContentSize

2.5K70

ios学习7_iPhone屏幕尺寸、分辨率及适配

(s)时,在逻辑上宽度不变高度稍高,之前旧素材布局通过AutoresizingFlexible简单适配即可运行得很好,但由于高宽比增大,上下两端出现黑粗边(典型LaunchImage)。...(2)按高度适配 在同样宽度下,iPhone4(s)屏高比iPhone5(s)低,若纵向排版紧张,可以iPhone5(s)为基准,按高度适配: fitScreenHeight= height...(3)按字体适配 另外,iPhone设置】【通用】【辅助功能】可以设置调节【更大字体】,APP也可以按字号适配: 例如适配表视图(UITableView:UIScrollView...注意限定控件元素内容区域宽度以及间距,并设置适当LineBreakMode。表视图支持上下滑动,因此纵向上表格行高内容区域高度可按字号缩放。...苹果在WWDC2012 iOS6就已提出了Auto Layout概念,即使用约束条件来定义视图位置尺寸,以适应不同尺寸分辨率屏幕。

86150

【死磕iOS】处理不等高TableViewCell小花招

Y值并返回 */ - (CGFloat)cellHeight { // 强制布局之前,需要先手动设置下cell真实宽度,以便于准确计算 CGRect...return CGRectGetMaxY(self.bottomCub.frame); } @end 第四步:在代理方法设置Cell高度 *注意:计算Cell高度过程...View设置约束 - 除了要定高、定宽、左上角粘着Label外,还要设置bottom距contentViewbottom间距为固定值,0 第三步:一定要注意 - 不能实现heightForRow代理方法...那么,在哪里能拿到CellCell高度呢? - 当然是CellForRow代理方法啦! 但是,在CellForRow拿到Cell高度后,如何传递给heightForRow代理方法呢?...,这意味着,我们在cellForRow方法拿到cell高度之前,就需要设置heightForRow...怎么办?

1.3K80

WKWebView 那些坑

作者:林泽水 导语 WKWebView是苹果在WWDC 2014上推出新一代webView组件,用以替代UIKit笨重难用、内存泄漏UIWebView, 拥有60fps滚动刷新率、safari...实践发现WKWebView实例其实也会将Cookie存储于NSHTTPCookieStorage,但存储时机有延迟,在iOS8上,当页面跳转时候,当前页面的Cookie会写入NSHTTPCookieStorage...前,在request header设置Cookie, 解决首个请求Cookie带不上问题; WKWebView * webView = [WKWebView new]; NSMutableURLRequest...,最后将加载结果返回WKWebView; 5、WKWebView 页面样式问题 在WKWebView适配过程,我们发现部分H5页面元素位置向下偏移或被拉伸变形,追踪后发现主要是H5页面高度值异常导致:...同学通过获取window.innerHeight来设置页面高度,导致页面整体被拉伸。

16.9K21

iPhone屏幕尺寸、分辨率及适配

)时,在逻辑上宽度不变高度稍高,之前旧素材布局通过AutoresizingFlexible简单适配即可运行得很好,但由于高宽比增大,上下两端出现黑粗边(典型LaunchImage)。...(2)按高度适配 在同样宽度下,iPhone4(s)屏高比iPhone5(s)低,若纵向排版紧张,可以iPhone5(s)为基准,按高度适配: fitScreenHeight= height...(3)按字体适配 另外,iPhone设置】【通用】【辅助功能】可以设置调节【更大字体】,APP也可以按字号适配: 例如适配表视图(UITableView:UIScrollView...注意限定控件元素内容区域宽度以及间距,并设置适当LineBreakMode。表视图支持上下滑动,因此纵向上表格行高内容区域高度可按字号缩放。...具体编程时,调用 sizeWithFont/boundingRectWithSize 可动态计算每行 label 自然宽度,一般title都会超过约束宽度,因此需设置 lineBreakMode指定Wrapping

5.7K20

网站自适应布局为什么我要抛弃rem,改用vw?

简单介绍下rem布局方案 rem是css长度单位,1rem=根元素htmlfont-size值。...若使用vw布局,就不需要再像rem那样,在js中去动态设置根元素font-size了,sass只需要使用这个函数做转换即可 //以iphone7尺寸@2x 750像素宽视觉稿为例 @function...百分比%是根据父元素宽度或者高度进行计算,而vw vh固定按照viewport来计算,不会受父元素宽高度影响。...100vw包括了页面滚动条宽度(页面滚动条属于viewport范围内,100vw当然包括了页面滚动条宽度)。但把body或者html设置为width:100%时,是不包括页面滚动条宽度。...我们来看看vwrem兼容性。  ? ? 相较之下,vw单位兼容性比rem稍差,ios8、安卓4.4及以上才完全支持。这也是为什么之前rem布局一直更流行原因。

2.9K10

iOS开发常用之 HUD 弹窗

MMProgressHUD - 设置HUD出现消失方式(包括上下,左右,淡入淡出,放大缩小等等),设置HUD内容(可以在HUD中加入帧动画,动态图片等等),设置HUD出现时底部覆盖层颜色,等等...DQAlertView - 扁平化样式不错。 HHAlertView - 一个简单alertview有三种样式,有成功,失败,警告三种样式,支持代表阻止两种回调。...PSTAlertController - 兼容iOS7XXAlertController,接口跟UIAlertController一模一样,做到高版本通用。...GSAlert.swfit - 苹果在iOS8推出了全新UIAlertController,旧UIAlertViewUIActionSheet渐渐被废弃,但如果你仍然支持iOS7系统,你将不得不写两套代码...PMAlertController.Swift - 可定制弹簧组件替代版本不可定制UIAlertController

4.1K20

六天完成一个简单iOS App - 第四天

精华页面的搭建 精华页面全部界面的显示 日期处理 热门评论显示处理 精华页面的搭建 精华页面分为全部、视频、声音、图片、段子五个界面,五个界面可以通过点击导航栏下面的titleView进行页面的切换...精华页面全部界面的显示 自定义cell分析,因为全部页面中有4种cell,4种cell顶部底部都是一样唯有中间部位不一样。这里自定义cell有两种方案。...UIAlertController简单使用 iOS8 之后UIAlertController使用非常简单,右上角更多按钮点击事件 - (IBAction)moreClick { UIAlertController...方法调用非常频繁,而NSDateFormatterNSCalendar对象没有必要这么频繁创建,可以使用懒加载,也可以再initialize方法创建,initialize方法只在类加载时调用一次。...如果返回是别的区域时间,也可以通过NSDateFormatterlocale来设置语言区域 // 设置语言区域(因为这种时间是欧美常用时间) fmt.locale = [[NSLocale alloc

1.4K70

【IOS开发基础系列】UIAlertController专题

2 UIAlertController         在iOS 8UIAlertController在功能上是UIAlertView以及UIActionSheet相同UIAlertController...举个栗子吧,要重新建立原来登录密码样式对话框,我们可以向其中添加两个文本框,然后用合适占位符来配置它们,最后将密码输入框设置使用安全文本输入。     ...对话框不同,上拉菜单展示形式设备大小有关。在iPhone上(紧缩宽度),上拉菜单从屏幕底部升起。在iPad上(常规宽度),上拉菜单以弹出框形式展现。         ...在iOS 8我们不再需要小心翼翼地计算出弹出框大小,UIAlertController将会根据设备大小自适应弹出框大小。并且在iPhone或者紧缩宽度设备它将会返回nil值。...原先UIAlertViewUIActionSheet类仍然可以在iOS 8工作得很好,所以没有必要急于更换代码(要知道本文用到许多函数尽在iOS 8支持)。

27130

iOS学习——UIAlertController详解

在两者API中都建议用UIAlertController替代,并通过设置不同类型风格来选择是原先UIAlertView或UIActionSheet形式。   ...UIAlertController是在iOS8.0出现一种统一提示风格界面,代替原来UIAlertViewUIActionSheet两种类别。...上添加文本框   上面我们讲到了如何在UIAlertController提示器上添加按钮,但是有时候,我们需要在提示器上添加一个或多个文本框让用户填写一些信息,在UIAlertController也提供了一个方法直接可以在提示器上添加文本框...主要方法有两种: 利用第三方控件 利用KVC方法进行自定义修改 2.1 利用第三方控件进行UIAlertController属性自定义 现在Github上有着众多Alert控件(SCLAlertView...如果要自定义标题内容,可以通过NSAttributedString把字体颜色设置好,然后在通过KVC方法进行设置,就可以了。

2.6K170

AutoLayout简洁之道

上面添加约束为什么会成功呢。 相对于父试图上对其左对齐就确定了坐标。 相对齐父试图左对齐右对齐就确定了高度 设置高度就确定了高度。 从而确定了这个试图FRAME。...我们虽然设置了左右对齐设置宽度 顶部对齐左对齐确定了为了但是没有设置高度 再次选择pan ? QQ20151126-4.png ?...QQ20151126-3.png 现在我希望这个广告条是我们宽度一半 确定宽度位置还是之前一样。但是现在高度不确定了。 我们选中父试图广告条。 ?...我们设置试图高度等于父试图高度。Mutiplier设置位0.5。 我们以为试图高度宽度一半也就是0.5。我们试图宽度等于父试图宽度。因为我们参考父试图设置。...我们没办法参考自己高度宽度,因为还没确定下来具体值。 未完待续

53920

常用开发技巧系列(五)

前言 ---- 前面刚发了这个技巧总结系列第四篇文章,这篇文章总结一些日常开发技巧或更偏向于Cocos2d方向,因为最近在游戏中有原生一个客服系统需要加进来,就涉及到一个游戏原生界面的交互以及各种各样...前面说了,这个解决起来很简单,但是我们不明不白设置这东西就是属于稀里糊涂了: 二: 横屏切换竖屏 ---- 我们一般游戏都是横屏,当然也有竖屏,在日常需求很有可能就涉及到游戏原生界面的交互...我们再这里也总结一下在iOS应用决定键盘方向因素,在不同iOS版本是不一样。...iOS8: 键盘方向是根据一个特定window决定,打印[UIApplication sharedApplication].windows,最少有两个,第一个为UIWindow,是程序主要...UIRemoteKeyboardWindow成为决定键盘方向window了,而UITextEffectsWindow控制了键盘顶部栏方向,如下: iOS10: iOS9类似,但是,如果要强制旋转键盘的话

1.4K41
领券