如何自定义pickerView的高度和宽度
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何自定义pickerView的高度和宽度相关的知识,希望对你有一定的参考价值。
参考技术A . 看来,苹果并没有特别邀请具有的默认高度碴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
如何在ios中获取放置在自定义单元格中的图像的高度和宽度
【中文标题】如何在ios中获取放置在自定义单元格中的图像的高度和宽度【英文标题】:How to get the height and width of the image placed in a custom cell in ios 【发布时间】:2011-09-09 13:36:33 【问题描述】:我有一个自定义单元格,其中有一个图像..我正在以这种方式访问该图像 在
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
[[tableCell specialImage] setImage:[UIImage imageNamed:@"One.png"]];
所以现在我想知道如何获得这个“特殊图像”的高度和宽度..
等待您的回复
【问题讨论】:
参考这个post 感谢萨兰,您的快速回复..我会通过它 但是 saran 不工作.. 检查我的答案,可能是您正在搜索的内容 【参考方案1】:我认为您正在寻找那个尺寸:
CGRect size = [tableCell specialImage].bounds.size;
【讨论】:
【参考方案2】:根据 cmets,我希望以下工作:
CGSize specialImageSize = [[tableCell specialImage] size];
如果这不起作用,您需要发布更多代码以获得更多帮助。例如,如果上述方法不起作用,了解更多关于我认为是 tableCell
指向的 UITableViewCell 子类的信息会很有帮助。
【讨论】:
【参考方案3】:请尝试以下代码:
UIImage *imageThatIsSpecial = [UIImage imageNamed:@"One.png"];
NSLog(@"Image height is %f and its width is %f",imageThatIsSpecial.size.height, imageThatIsSpecial.size.width);
[[tableCell specialImage] setImage:imageThatIsSpecial];
【讨论】:
以上是关于如何自定义pickerView的高度和宽度的主要内容,如果未能解决你的问题,请参考以下文章