我正在尝试在我的iPhone应用中使用Facebook Connect功能。 我想知道如何在我的UITableView中正确排列按钮:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];
}
if (indexPath.section == 0){
if (indexPath.row == 0){
}
}
if (indexPath.section == 1){
if (indexPath.row == 0){
cell.textLabel.text = @"Connect with Facebook";
cell.accessoryView = login;
}
}
return cell;
我尝试过使用accessoryView,但结果如下: alt text http://i50.tinypic.com/14mxa0z.png
此按钮仅在我点按单元格时显示。
如果可以,请帮忙!
感谢。
答案 0 :(得分:1)
IMHO最简单的布局大多数静态UITableView的方法是使用InterfaceBuilder。
答案 1 :(得分:0)
accessoryView
肯定会被绑定到右边,因为“附件”通常指的是打开新页面等的表格单元右侧的小的expando箭头小部件。
如果将该按钮添加为单元格视图的子视图,则可以对单元格的布局产生很大影响,并将FB按钮放在任何位置。你应该看看this sample project,它演示了如何完成一大堆自定义单元格类型。
答案 2 :(得分:0)
我刚刚遇到了这个同样的问题。我的工作代码如下:
FBLoginButton* fbbutton = [[FBLoginButton alloc] initWithFrame:CGRectMake(cellwidth - 30.0 - 10.0,
(cellheight - 30.0) / 2.0,
90.0, 30.0)];
fbbutton.style = FBLoginButtonStyleNormal;
fbbutton.session = session;
cell.accessoryView = fbbutton;
cell.textLabel.text = @"Facebook";
[fbbutton release];
(显然我使用常量而不是硬编码Facebook按钮的大小。)
按钮放置的两个关键位是设置框架并将按钮添加到accessoryView。 (将其添加到contentView也可以使用,但您可能需要手动添加标题。)
对于仅按下按钮时出现的按钮,我设法通过明确设置按钮样式来修复它。我猜这是Facebook Connect库中的一个错误。