如何用图像制作手风琴ios

时间:2015-06-12 03:58:22

标签: ios objective-c iphone uitableview

我想询问如何使用UITableView以手风琴隐藏图像?首先,我创建tableview并委托它。这是我的viewcontroller的代码

#import "ViewController.h"
#import "ListViewCell.h"
@interface ViewController (){
    NSArray * tableData;
    NSInteger currentSelection;
    int one;
}
@end

@implementation ViewController

- (void)viewDidLoad
{
    [super viewDidLoad];

    one = 0;
    // Do any additional setup after loading the view, typically from a nib.
    tableData = [NSArray arrayWithObjects:@"Egg Benedict", @"Mushroom Risotto", @"Full Breakfast", @"Hamburger", @"Ham and Egg Sandwich", @"Creme Brelee", @"White Chocolate Donut", @"Starbucks Coffee", @"Vegetable Curry", @"Instant Noodle with Egg", @"Noodle with BBQ Pork", @"Japanese Noodle with Pork", @"Green Tea", @"Thai Shrimp Cake", @"Angry Birds Cake", @"Ham and Cheese Panini", nil];
}

- (void)didReceiveMemoryWarning
{
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}


-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{

    return [tableData count];
}


- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    static NSString *simpleTableIdentifier = @"mycell";

    ListViewCell *cell = (ListViewCell *)[tableView dequeueReusableCellWithIdentifier:simpleTableIdentifier];

    if (cell == nil) {

        [tableView registerNib:[UINib nibWithNibName:@"listxib" bundle:nil] forCellReuseIdentifier:@"mycell"];
        cell = [tableView dequeueReusableCellWithIdentifier:simpleTableIdentifier];

    }
     cell.selectionStyle = UITableViewCellSelectionStyleNone;

    return cell;

}

-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{

    if ([indexPath row] == currentSelection && one !=0) {
        return  312;
    }
    else return 75;
}

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
    currentSelection = [indexPath row];

    if(one==1){
        NSLog(@"%@",@"active");
        one = 0; // check if this is active


    }else{
       NSLog(@"%@",@"not active");
        one =1;
    }


    [tableView beginUpdates];
    [tableView endUpdates];
}

我在单元格的标签上显示文字没有问题。我创建xib文件以将其继承到我的tableview单元格,UITableviewCell控制器的名称是ListViewCell。看下面的图像

enter image description here

当我使用xib并显示到我的UITableview时,我得到了这个结果 enter image description here

我看到了图像。那个女孩的大图像与UITableView重叠。它应该是隐藏的,只有当用户点击单元格并扩展单元格的高度时才会显示。我试图在谷歌找到它,但他们没有使用xib文件的教程。我在我的设置中启用了AUTOLAYOUT。使用xib做手风琴时自动布局是否重要?我总是觉得谢谢这个自动布局让我在做这样的项目时生病了。希望你明白我想做什么。但是如果你有教程那里。这将是非常好看的它。

1 个答案:

答案 0 :(得分:1)

尝试在单元格xib文件中选择大图像视图,选择属性并将剪辑勾选到子视图。