我有自己的tableview标题的自定义视图
UIView *headerTableview_;
@property (nonatomic, retain) IBOutlet UIView *headerTableview;
我已将其连接到xib文件。
然后在.m文件中,
@synthesize headerTableview = headerTableview_;
- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section{
return headerTableview_.frame.size.height;
}
- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section{
return headerTableview_;
}
然后,我尝试运行它,在iOS 6中显示效果很好,但在iOS 4.3中,它根本没有显示。
可能是什么问题?任何人都知道如何解决这个奇怪的问题? 谢谢!
答案 0 :(得分:0)
创建一个名为HeaderTableview的新类文件。在IB中分配时,查看是否正确初始化。
//.h
@class HeaderTableview;
@interface ViewController : UIViewController
@property (nonatomic, retain) IBOutlet HeaderTableview *headerTableview;
//.m
@synthesize headerTableview = _headerTableview;
- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section{
return _headerTableview.frame.size.height;
}
答案 1 :(得分:0)
在你的.h文件中
@interface testViewController : UIViewController <UITableViewDataSource, UITableViewDelegate>
{
UITableView *tableView;
}
@property (retain, nonatomic) IBOutlet UIView *testView;
@end
在你的.m文件中
@implementation testViewController
@synthesize testView;
- (void)viewDidLoad
{
[super viewDidLoad];
tableView = [[UITableView alloc]initWithFrame:self.view.frame style:UITableViewStylePlain];
tableView.delegate = self;
tableView.dataSource =self;
[self.view addSubview:tableView];
[self.view bringSubviewToFront:tableView];
// Do any additional setup after loading the view, typically from a nib.
}
- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section{
return testView.frame.size.height;
}
- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section{
return testView;
}
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView{
return 2;
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{
return 3;
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
static NSString *CellIdentifier = @"Products";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:CellIdentifier];}
//UIImage *currentTweet = [[xmlParser tweets] objectAtIndex:1];
cell.textLabel.text= @"text label";
cell.detailTextLabel.text=@"detailTextLabel";
return cell;}
- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
- (void)dealloc {
[testView release];
[super dealloc];
}
@end