如何从任何其他视图访问视图中存在的按钮。让我详细说明我有两个视图控制器A和B.在视图中我有一个按钮在表视图中说button1。我想访问从我的另一个视图中的表视图内的那个按钮。请帮助。我尝试创建一个A类的对象然后写[objA.tableview button1然后我设置图像]但它没有工作。请帮助。任何帮助将不胜感激。
谢谢, 克里斯蒂
答案 0 :(得分:0)
您可以尝试为您的按钮添加标签(确保它是唯一的)。
假设你的按钮有标签45;你已经在桌面视图中做到了。
现在在另一种方法中,你想使用你的那个按钮: -
-(void)deletePostMethod
{
UIButton *button=(UIButton *)[self.view viewWithTag:49];
[button setBackgroundColor:[UIColor redColor]];
NSLog(@"button=%@",button);
}
编辑答案: -
- (UITableViewCell *)tableView:(UITableView *)tablefirst cellForRowAtIndexPath:(NSIndexPath *)indexPath {
// I have added a button in my table view in first row
if (indexPath.row==0) {
UIButton *btn=[UIButton buttonWithType:UIButtonTypeCustom];
[btn setFrame:CGRectMake(0, 0, 40, 30)];
[btn addTarget:self action:@selector(deletePostMethod) forControlEvents:UIControlEventTouchUpInside];
btn.tag=579;
[cell.contentView addSubview:btn];
}
return cell;
}
在该按钮上单击方法
-(void)deletePostMethod
{
UIButton *button=(UIButton *)[self.view viewWithTag:579];
[button setBackgroundColor:[UIColor redColor]];
NSLog(@"button=%@",button);
}
单击此按钮后,背景颜色设置为红色。
答案 1 :(得分:0)
使用viewControllers
属性访问导航堆栈中所有UIViewController
的列表。
@property(nonatomic, copy) NSArray *viewControllers
NSArray* allController = self.navigationController.viewControllers ;
for(UIViewController* myAController in allController)
{
if( [myAController isMemberOfClass])
{
//Here Now you have the A controller
MyViewAController* myATempController = (MyViewAController*)myAController;
//Now you could access the property of your A Controller.
}
}
答案 2 :(得分:0)
我会将您的按钮设为视图控制器的属性,以便您可以按名称访问它。
在您的界面文件中:
@interface MyViewController : UIViewController {
UIButton* myButton;
}
@property (nonatomic, retain) UIButton* myButton;
@end
在您的实施文件中:
@implementation MyViewController
@synthesize myButton;
@end
然后您可以使用aViewController.myButton
来获取按钮。