sha*_*oor 6 iphone objective-c uibutton ipad ios
我相信这对那里的某个人来说很容易.我有一个UISegmentedControl,我用它作为一个按钮(以便不必使用令人讨厌的默认按钮),我无法让目标工作....代码如下
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view from its nib.
//read.buttonType = UIBarStyleBlackOpaque;
UISegmentedControl* read = [[[UISegmentedControl alloc] initWithFrame:CGRectMake(5, 50, 310, 54)] autorelease];
[read insertSegmentWithTitle:@"Read" atIndex:0 animated:NO];
read.tintColor = [UIColor colorWithRed:0.3 green:0.3 blue:0.9 alpha:1];
read.segmentedControlStyle = UISegmentedControlStyleBar;
[read addTarget:self action:@selector(changeFilter:sender:) forControlEvents:UIControlEventTouchUpInside];
[read setTag:1];
[self.view addSubview:read];
}
Run Code Online (Sandbox Code Playgroud)
然后
-(void)changeFilter:(id)sender{
}
Run Code Online (Sandbox Code Playgroud)
由于某种原因,单击UISegmentedControl不会触发目标方法.
作为附录,是否有更简单的方法来制作漂亮的UIButton?我无法在工作中访问Photoshop(虽然我确实安装了gimp),因此一种不涉及图像制作的方法会很好.我无法相信苹果在UI中没有提供漂亮的UIButton,这似乎是一个需要的基本要素?
无论如何,感谢帮助误区友.
谢谢你的答案...我已经尝试了修复,但它仍然没有解决
我现在有
[read addTarget:self action:@selector(changeFilter:) forControlEvents:UIControlEventTouchUpInside];
Run Code Online (Sandbox Code Playgroud)
然后
@interface
-(void)changeFilter:(id)sender;
Run Code Online (Sandbox Code Playgroud)
和
@implementation
-(void)changeFilter:(id)sender{}
Run Code Online (Sandbox Code Playgroud)
请注意,该方法与UISegmentedControl属于同一个类.也许我应该尝试使用建议的Glass按钮API,但是我的老板讨厌我使用第三方库,如果有办法避免它!
选择器错了.它应该是,action:@selector(changeFilter:)并且将事件更改为forControlEvents:UIControlEventValueChanged,因为UISegmentedControl不会为UIControlEventTouchUpInside事件发送任何操作.
.h文件你忘了放这个
-(void)changeFilter:(id)sender;
Run Code Online (Sandbox Code Playgroud)
然后
change this
[read addTarget:self action:@selector(changeFilter:sender:) forControlEvents:UIControlEventTouchUpInside];
To
[read addTarget:self action:@selector(changeFilter:) forControlEvents:UIControlEventValueChanged];
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5237 次 |
| 最近记录: |