这是一个非常通用的问题(与任何应用程序无关)。只是为了了解更多。
在创建任何iPhone应用程序时,我们发现在Interface of Interface Builder中几乎没有可用的UIControl。使用那些我们可以创建所有基本的应用程序和设计,我们也不能在很大程度上定制那些
但是,如果我们在App Store上看到,有数千个应用程序可供使用,其中有许多UIControl在库中不可用,或者可能在很大程度上定制。
我想知道:
我们是否可以使用图书馆以外的其他控件(如果是,则为何处以及从何处获取)。
如果我们不能如何修改(自定义)可用的UIControls,使它们看起来与原来的主要外观完全不同。
此致 PRATIK
答案 0 :(得分:3)
首先,可以为大多数控制器设置图像(包括透明度)。许多看起来像不同控件的控制器实际上可能是相同的控件,只是重新调整。许多控制器允许子视图 - 使用表控制器可以实现多少令人惊讶。
还值得知道,使用GUI放置的任何控件也可以设置为覆盖行为的子类。只需选择控件,点击Shift-Apple i并在Class Identity中更改类。
答案 1 :(得分:1)
看看three20库。它包括自定义样式按钮,标签和文本。它应该为您提供一般的想法,如何自定义您自己的UI元素。
通常,您不使用像casebash这样的图像,而是使用图形方法绘制元素。
另一种可能的解决方案是覆盖您的
- (void)drawRect:(CGRect)rect
你的UIView的
编辑:
源代码取自
INDEX_OFFSET = 82753; // random
UIButton *sampleButton = [UIButton buttonWithType:UIButtonTypeCustom];
[sampleButton setFrame:CGRectMake(kLeftMargin, 10, self.view.bounds.size.width - kLeftMargin - kRightMargin, 52)];
[sampleButton setTitle:@"Button Title" forState:UIControlStateNormal];
[sampleButton setFont:[UIFont boldSystemFontOfSize:20]];
[sampleButton setTag:<INDEX>+INDEX_OFFSET];
[sampleButton setBackgroundImage:[[UIImage imageNamed:@"redButton.png"] stretchableImageWithLeftCapWidth:10.0 topCapHeight:0.0] forState:UIControlStateNormal];
[sampleButton addTarget:self action:@selector(buttonPressed) forControlEvents:UIControlEventTouchUpInside];
[self.view addSubview:sampleButton];
答案 2 :(得分:1)
对于自定义控制器,您可以查看Joe Hewitt的Three20 Project。