【问题标题】:how to set (make) a UIButton at bottom of my UITableview?如何在我的 UITableview 底部设置(制作)一个 UIButton?
【发布时间】:2015-09-04 21:05:22
【问题描述】:

我有两个 Viewcontroller。一个带有表格视图,检查按钮,底部添加按钮。我只是向上调整我的表格视图并将我的添加按钮保持在底部。当用户按下我的添加按钮时,它将进入下一个视图控制器(我通过故事板做了这些事情

需要:

我需要我的添加按钮应该在我的表格视图上方。当用户向下滚动我的表格视图时,它也应该停留在我的表格视图的中心。我尝试过创建单独的视图,但没有用不能这样做.这是我的 viewcontroller.m 文件:

提前致谢!

我使用了故事板,所以我做了iboutlet并合成它,

@interface ViewController ()



@property (strong) NSMutableArray *notes;
@end

@implementation ViewController
@synthesize tableView;
@synthesize addButton;

我的viewdidload:

- (void)viewDidLoad {
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.
    self.navigationItem.title = @"My Notes";

    tableView.dataSource = self;
    tableView.delegate = self;
    [self.view addSubview:tableView];
   }

当我按下添加按钮时,它将移动到另一个视图控制器:

- (IBAction)addButtonPressed:(id)sender {
    AddNoteViewController *addNoteVC = [AddNoteViewController new];




    // to remove unused warning....
#pragma unused (addNoteVC)

}

我需要这样,但在中心......

【问题讨论】:

  • 对不起,我对你想要做什么有点困惑
  • “当用户向下滚动我的表格视图时,它也应该停留在我的表格视图的中心”和“像这样我需要但在中心”是什么意思?
  • 似乎你只想要一个按钮在你的表格视图顶部,将它添加到你的故事板,但确保它不在表格视图内,并且在视图层次结构中更高,所以它不会被表格视图。
  • 在上面的示例图像中,在左侧添加按钮。我需要它在我的表格视图(即层次视图)上方的 center.at 中
  • 请看这个链接camo.githubusercontent.com/…

标签: ios uibutton tableview


【解决方案1】:

由于您只希望 UIButton 悬停在您的 UITableView 上,因此解决方案应该很简单。

我刚刚创建了一个UIButton,您可以使用它。

在您初始化 UIButton 的方法中(例如 viewDidLoad

    yourBtn = [UIButton buttonWithType:UIButtonTypeCustom];
    [yourBtn setImage:[UIImage imageNamed:@"yourIMG"] forState:UIControlStateNormal];
    [yourBtn setTitle:@"+" forState:UIControlStateNormal];
    yourBtn.frame = CGRectMake(0, self.view.bounds.size.height -150, buttonwidth, buttonheight);
    yourBtn.center = CGPointMake(self.view.center.x, self.view.bounds.size.height -155);
    [yourBtn addTarget:self action:@selector(addButtonPressed:) forControlEvents:UIControlEventTouchUpInside];
    [self.view addSubview:yourBtn];

如果这不应该是您的解决方案,请随时评论此答案!

编辑

要设置宽度和按钮高度,只需添加以下内容。写在yourBtn.frame上面!

CGFloat buttonwidth = 57.5;
CGFloat buttonheight = 57.5;

编辑 2.0

您需要先在 IB 中设置 segues 标识符。检查:iOS and xcode: how to give a segue a "storyboard id" so that I can programmatically manipulate it

-(IBAction)addButtonPressed:(id)sender {
    [self performSegueWithIdentifier:yourSegue sender:self];
}

干杯

【讨论】:

  • 谢谢会检查这个....但是在这两行中出现错误: addBtn.frame = CGRectMake(0, self.view.bounds.size.height -150, buttonwidth, buttonheight);错误:`使用未声明的标识符按钮宽度,按钮高度`
  • 是的,没错!!我添加了这些让您自定义按钮的大小。只需将两者都替换为所需的臀部尺寸即可。
  • @masterRazer 是的,感谢它的工作......锄头为这个按钮执行 segue......
【解决方案2】:

我认为,您应该在 IB 中编辑或添加 UIButton 中的 NSLayoutAttributeCenterX,而不是 @MasterRazer 的答案中的框架设置。将按钮的约束设置为 0 将使您的按钮保持在中间,并且是解决您的问题的干净且良好的解决方案。

【讨论】:

  • 我没有说 btn.center 不能算是好的解决方案,设置按钮的框架可以被认为是不好的解决方案。将自动布局与 UI 组件一起使用将为您提供调整大小和方向更改的灵活性。对于这个特殊问题,您的解决方案可以工作,但考虑到整个开发周期,我认为这不是一个完美的答案。 @MasterRazer
猜你喜欢
  • 2017-05-09
  • 2017-01-31
  • 1970-01-01
  • 2017-11-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多