如何调整UIPickerView,UISwitch等无法通过frame调整大小的大小

 我来答
育知同创教育
2016-04-19 · 百度知道合伙人官方认证企业
育知同创教育
1【专注:Python+人工智能|Java大数据|HTML5培训】 2【免费提供名师直播课堂、公开课及视频教程】 3【地址:北京市昌平区三旗百汇物美大卖场2层,微信公众号:yuzhitc】
向TA提问
展开全部
苹果并没有特别邀请具有的默认高度碴UIPickerView,但我发现,就可以实现由控制和传递所需的大小在创建如视图的高度发生变化:smallerPicker = [[UIPickerView alloc] initWithFrame:CGRectMake(0.0, 0.0, 320.0, 120.0)];你会发现,在高度和宽度,也有visual毛刺。这些毛刺会要么需要被解决,或选择不会表现出他们另一个大小。
2. 概无上述方法中的iOS 4.0工作 该pickerView的高度不再重新可观。有哪些被抛弃 CodeGo.net,如果你试图改变一个选择器在4.0到控制台: -[UIPickerView setFrame:]: invalid height value 66.0 pinned to 162.0

最后我做相当激进,以获得更小的选择器在这两个操作系统的3.xx和OS 4.0的工作效果。我离开了选择器是不论大小的SDK的决定应该,而是对我的背景图片做了一个直通的透明窗口,通过了拾取可见。然后,只需放在后面的选择器(Z顺序明智的)我的背景的UIImageView,这样的选择器中只有一部分是由透明窗口,我的背景决定可见。
3. 在IOS 4.2及4.3以下工作: UIDatePicker *datePicker = [[UIDatePicker alloc] init];
datePicker.frame = CGRectMake(0, 0, 320, 180);
[self addSubview:datePicker];

以下不工作: UIDatePicker *datePicker = [[UIDatePicker alloc] initWithFrame:CGRectMake(0, 0, 320, 180)];
[self addSubview:datePicker];

我有一个应用程序,在应用程序商店有3行日期选择器。我想的高度变化可能是可以避免你看到的日期选择器的下边框的文本,但这种情况在正常的216身高日期选择器了。 这是错误吗?你的猜测是和我一样好。 也有3个有效高度为UIDatePicker(和UIPickerView)162.0,180.0,216.0和。如果设置了UIPickerView高度以其他任何你会在控制台看到以下内容的iOS设备上调试时。 2011-09-14 10:06:56.180 DebugHarness[1717:707] -[UIPickerView setFrame:]: invalid height value 300.0 pinned to 216.0

4. 只有三对UIPickerView的有效高度(162.0,180.0和216.0)。 你的CGAffineTransformMakeTranslation和CGAffineTransformMakeScale函数,使其适合的选择器来方便您使用。 例如: CGAffineTransform t0 = CGAffineTransformMakeTranslation (0, pickerview.bounds.size.height/2);
CGAffineTransform s0 = CGAffineTransformMakeScale (1.0, 0.5);
CGAffineTransform t1 = www.hnnedu.com CGAffineTransformMakeTranslation (0, -pickerview.bounds.size.height/2);
pickerview.transform = CGAffineTransformConcat (t0, CGAffineTransformConcat(s0, t1));

上面的代码更改选择器以一半和重新定位它的确切(左X1,顶Y1)位置的高度。
5. 尝试: pickerview.transform = CGAffineTransformMakeScale(.5, 0.5);

6. 我发现,你可以编辑UIPickerView的大小-只是不能与界面生成器。用文本编辑器打开。xib文件和设置选择器视图的大小到任何你想要的。界面生成器不会重设大小,它似乎工作。我敢肯定,苹果锁定的大小是有原因的,所以你必须以不同的大小,看看是什么在起作用。
7. 产品优点: 使得UIPickerView像它应该 没有在你的代码转换UIViewController在工作viewWillLayoutSubviews重新缩放/定位UIPickerView作品在iPad上没有UIPopover超总是收到有效高度 工作与iOS 5 缺点: 需要你继承UIPickerView需要的pickerView viewForRow撤消转型为子视图 UIAnimations可能无法正常工作 解决方案: 子类UIPickerView的并覆盖使用下面的代码。子类,固定的高度和转换方法。 #define FIXED_PICKER_HEIGHT 216.0f
- (void) setFrame:(CGRect)frame
{
匿名用户
2016-04-19
展开全部
. 看来,苹果并没有特别邀请具有的默认高度碴UIPickerView,但我发现,就可以实现由控制和传递所需的大小在创建如视图的高度发生变化:smallerPicker = [[UIPickerView alloc] initWithFrame:CGRectMake(0.0, 0.0, 320.0, 120.0)];你会发现,在高度和宽度,也有visual毛刺。这些毛刺会要么需要被解决,或选择不会表现出他们另一个大小。
2. 概无上述方法中的iOS 4.0工作 该pickerView的高度不再重新可观。有哪些被抛弃 CodeGo.net,如果你试图改变一个选择器在4.0到控制台: -[UIPickerView setFrame:]: invalid height value 66.0 pinned to 162.0

最后我做相当激进,以获得更小的选择器在这两个操作系统的3.xx和OS 4.0的工作效果。我离开了选择器是不论大小的SDK的决定应该,而是对我的背景图片做了一个直通的透明窗口,通过了拾取可见。然后,只需放在后面的选择器(Z顺序明智的)我的背景的UIImageView,这样的选择器中只有一部分是由透明窗口,我的背景决定可见。
3. 在IOS 4.2及4.3以下工作: UIDatePicker *datePicker = [[UIDatePicker alloc] init];
datePicker.frame = CGRectMake(0, 0, 320, 180);
[self addSubview:datePicker];

以下不工作: UIDatePicker *datePicker = [[UIDatePicker alloc] initWithFrame:CGRectMake(0, 0, 320, 180)];
[self addSubview:datePicker];

我有一个应用程序,在应用程序商店有3行日期选择器。我想的高度变化可能是可以避免你看到的日期选择器的下边框的文本,但这种情况在正常的216身高日期选择器了。 这是错误吗?你的猜测是和我一样好。 也有3个有效高度为UIDatePicker(和UIPickerView)162.0,180.0,216.0和。如果设置了UIPickerView高度以其他任何你会在控制台看到以下内容的iOS设备上调试时。 2011-09-14 10:06:56.180 DebugHarness[1717:707] -[UIPickerView setFrame:]: invalid height value 300.0 pinned to 216.0

4. 只有三对UIPickerView的有效高度(162.0,180.0和216.0)。 你的CGAffineTransformMakeTranslation和CGAffineTransformMakeScale函数,使其适合的选择器来方便您使用。 例如: CGAffineTransform t0 = CGAffineTransformMakeTranslation (0, pickerview.bounds.size.height/2);
CGAffineTransform s0 = CGAffineTransformMakeScale (1.0, 0.5);
CGAffineTransform t1 = www.hnnedu.com CGAffineTransformMakeTranslation (0, -pickerview.bounds.size.height/2);
pickerview.transform = CGAffineTransformConcat (t0, CGAffineTransformConcat(s0, t1));

上面的代码更改选择器以一半和重新定位它的确切(左X1,顶Y1)位置的高度。
5. 尝试: pickerview.transform = CGAffineTransformMakeScale(.5, 0.5);

6. 我发现,你可以编辑UIPickerView的大小-只是不能与界面生成器。用文本编辑器打开。xib文件和设置选择器视图的大小到任何你想要的。界面生成器不会重设大小,它似乎工作。我敢肯定,苹果锁定的大小是有原因的,所以你必须以不同的大小,看看是什么在起作用。
7. 产品优点: 使得UIPickerView像它应该 没有在你的代码转换UIViewController在工作viewWillLayoutSubviews重新缩放/定位UIPickerView作品在iPad上没有UIPopover超总是收到有效高度 工作与iOS 5 缺点: 需要你继承UIPickerView需要的pickerView viewForRow撤消转型为子视图 UIAnimations可能无法正常工作 解决方案: 子类UIPickerView的并覆盖使用下面的代码。子类,固定的高度和转换方法。 #define FIXED_PICKER_HEIGHT 216.0f
- (void) setFrame:(CGRect)frame
{
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式