【发布时间】:2014-03-12 05:24:41
【问题描述】:
我正在以编程方式创建 UIButton。我希望 UIViewController 成为该按钮操作的目标。我该怎么做?如果我单击按钮导航将不起作用。这是我的代码。请帮助我任何人。谢谢提前。
- (void)viewDidLoad
{
weeklyAudio=[UIButton buttonWithType:UIButtonTypeCustom];
[weeklyAudio addTarget:self action:@selector(weeklyPredictions) forControlEvents:UIControlEventTouchUpInside];
[weeklyAudio setTitle:@"WEEKLY PREDICTIONS" forState:UIControlStateNormal];
weeklyAudio.titleLabel.textAlignment = NSLineBreakByWordWrapping;
weeklyAudio.titleLabel.numberOfLines = 2;
[weeklyAudio.titleLabel setTextAlignment: NSTextAlignmentCenter];
[weeklyAudio setTitleEdgeInsets:UIEdgeInsetsMake(60, 10, 10, 10)];
[weeklyAudio.titleLabel setFont:[UIFont systemFontOfSize:14.0]];
weeklyAudio.frame=CGRectMake(10, 20, 140, 120);
weeklyAudio.layer.cornerRadius=5;
weeklyAudio.backgroundColor=[UIColor colorWithRed:232.0f/255.0f green:52.0f/255.0f blue:27.0f/255.0f alpha:1.0];
[backGroundImage addSubview:weeklyAudio];
weeklyAudioImage=[[UIImageView alloc]initWithFrame:CGRectMake(45, 10, 48, 48)];
weeklyAudioImage.image=[UIImage imageNamed:@"m48*48.png"];
[weeklyAudio addSubview:weeklyAudioImage];
weeklyAudio.autoresizingMask = UIViewAutoresizingFlexibleLeftMargin | UIViewAutoresizingFlexibleRightMargin |UIViewAutoresizingFlexibleBottomMargin | UIViewAutoresizingFlexibleTopMargin;
}
-(void)weeklyPredictions
{
WeeklyViewController *weekly=[[WeeklyViewController alloc]init];
[self.navigationController pushViewController:weekly animated:NO];
}
【问题讨论】:
-
“如果我单击按钮导航将不起作用”是什么意思?当你点击按钮时会发生什么?您还说您“希望 UIViewController 成为该按钮的目标”——什么视图控制器?这段代码所在的那个,还是其他控制器?
-
如果你使用 .xib 文件,那么你有这样的定义 WeeklyViewController *weekly=[[WeeklyViewController alloc] initWithNibName:@"WeeklyViewController" bundle:nil];或者如果你使用故事板,那么就像这样 WeeklyViewController *weekly= [self.storyboard instantiateViewControllerWithIdentifier:@"WeeklyViewController"];
-
@Maul 感谢您的响应。我正在以编程方式创建。我没有使用 xib 和故事板
-
您还没有回答有关拥有导航控制器的问题。如果你把这个日志,NSLog(@"%@", self.navigationController) 放在weeklyPredictions 方法中,它会给你什么?
标签: ios uiviewcontroller uibutton