创建自定义UIView绘图

时间:2013-01-17 14:55:56

标签: ios xcode uiview

创建自定义UIView的最佳方法是什么?所以我有3张图片(顶部,中部,机器人) 在按钮内我想要一个图像(它需要可调整大小(仅限高度)

enter image description here enter image description here enter image description here

我如何使用UIView创建这个,以便我可以在其中放置一个图像并调整视图大小? (我想在UITablecell中使用它)

2 个答案:

答案 0 :(得分:0)

尝试使用这两个链接进行自定义UITableView绘图:

cocoawithlove.com/2009/04/easy-custom-uitableview-drawing.html

http://adeem.me/blog/2009/05/30/iphone-sdk-tutorial-part-6-creating-custom-uitableviewcell-using-interface-builder-uitableview/

在那里你应该能够分别设置每个单元格的高度。如果不存在,则覆盖UITableViewDelegate方法

tableView:heightForRowAtIndexPath:

http://developer.apple.com/library/ios/#documentation/UIKit/Reference/UITableViewDelegate_Protocol/Reference/Reference.html

答案 1 :(得分:0)

如果您使用的是iOS 5,请查看UIImage中的resizableImageWithCapInsets:方法。

这允许您指定图像的哪个部分应该调整大小以及哪个部分应该自动缩放。这是重复使用背景图像的理想选择。

因此,您将使用蓝色背景创建可调整大小的图像,并指定应根据图像调整大小的边缘的偏移量。您不必切割或切割图像,只需将其作为一个整体图像提供,缩放将自动进行,如果您正确指定了cap insets,则圆角将保持完好。

// Change the edge insets to match your image...
UIImage *backgroundImage = [[UIImage imageNamed:@"button_background"]  
   resizableImageWithCapInsets:UIEdgeInsetsMake(10, 10, 10, 10)];

// Create an image view to hold the new image
UIImageView *myBackgroundImageView = [[UIImageView alloc] initWithImage:backgroundImage];

// [...] here make sure to size your image view to match the size of your parent view

// Add the background image view to the view
[self addSubview:myBackgroundImageView];

然后您可以自由地为自定义tableview单元格使用类似的技术。但这里的想法是使用带有边缘插入的可调整大小的图像来动态缩放背景图像。

Here是一篇很好的博客文章解释边缘插入。

希望有所帮助。