Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/38.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 在同一视图控制器中具有表视图的图像视图_Iphone_Objective C_Ios_Xcode - Fatal编程技术网

Iphone 在同一视图控制器中具有表视图的图像视图

Iphone 在同一视图控制器中具有表视图的图像视图,iphone,objective-c,ios,xcode,Iphone,Objective C,Ios,Xcode,我有一个新的控制器,定义如下: @界面视图1:UITableViewController 我已经(在viewDidLoad中)创建了一个图像视图(徽标图像),并将此图像视图添加为view1的子视图,但问题是此图像视图后面仍然显示表视图单元格,如何将图像视图与表视图完全分离 提前感谢。尝试将其添加到: - (void)viewDidAppear:(BOOL)animated 只有在调用viewDidLoad后才会调用此方法,因此,如果您希望在所有其他方面都有优势,可以调用此方法或将子视图添加到:

我有一个新的控制器,定义如下:

@界面视图1:UITableViewController

我已经(在viewDidLoad中)创建了一个图像视图(徽标图像),并将此图像视图添加为view1的子视图,但问题是此图像视图后面仍然显示表视图单元格,如何将图像视图与表视图完全分离

提前感谢。

尝试将其添加到:

- (void)viewDidAppear:(BOOL)animated
只有在调用viewDidLoad后才会调用此方法,因此,如果您希望在所有其他方面都有优势,可以调用此方法或将子视图添加到:

[[[UIApplication sharedApplication] keyWindow] addSubview:yourView];
希望它能帮助您。

尝试将其添加到:

- (void)viewDidAppear:(BOOL)animated
只有在调用viewDidLoad后才会调用此方法,因此,如果您希望在所有其他方面都有优势,可以调用此方法或将子视图添加到:

[[[UIApplication sharedApplication] keyWindow] addSubview:yourView];

希望它对您有所帮助。

要获得徽标类型视图,您需要为tableview设置一个自定义headerview

- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section;

另一种方法是重写
-loadView
并创建自己的视图,该视图包含两个子视图,即imageview和tableview


在第一种方法中,一旦滚动一些图标,它最终将消失。第二种方法使徽标保持静态。

要获得徽标类型视图,您需要通过设置tableview的自定义headerview

- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section;

另一种方法是重写
-loadView
并创建自己的视图,该视图包含两个子视图,即imageview和tableview

在第一种方法中,一旦滚动一些图标,它最终将消失。第二种方法使徽标保持静态。

2选项:

1.创建UIViewController以容纳UITableViewController视图和imageView,然后定位它们的框架,使它们不会重叠

2.将imageView添加为TableView节标题

-(UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
{
    UIImageView* imageView = [[UIImageView alloc] initWithImage:
                              [UIImage imageWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"image" ofType:@"png"]]];
    return imageView;
}
并确保您至少有一节课程:

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
    // Return the number of sections.
    return 1;
}
2种选择:

1.创建UIViewController以容纳UITableViewController视图和imageView,然后定位它们的框架,使它们不会重叠

2.将imageView添加为TableView节标题

-(UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
{
    UIImageView* imageView = [[UIImageView alloc] initWithImage:
                              [UIImage imageWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"image" ofType:@"png"]]];
    return imageView;
}
并确保您至少有一节课程:

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
    // Return the number of sections.
    return 1;
}

您希望您的徽标位于桌面视图上方的顶部吗?如果是这样,您可以在
-viewDidLoad
中,将
tableView
tableHeaderView
设置为所需的视图,例如:

tableView.tableHeaderView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"image"]]; // assuming ARC, else autorelease or put in variable first...

如果你想让它在滚动时浮在顶部,那么DanZimm使用的
-tableView:viewForHeaderInSection:
就是你想要的。

你想要的是让你的徽标位于顶部,在你的表视图上方?如果是这样,您可以在
-viewDidLoad
中,将
tableView
tableHeaderView
设置为所需的视图,例如:

tableView.tableHeaderView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"image"]]; // assuming ARC, else autorelease or put in variable first...

如果你想让它在滚动时浮在顶部,那么DanZimm使用的
-tableView:viewForHeaderInSection:
就是你想要的。

我相信他的意思是他不想让tableView在图像的下方滚动,而不是说图像实际上不是最顶部的视图。他说imageview在“顶部”如果你在
-viewDidDisplay:
中这样做,那么你需要注意的是,你只需要调用一次,因为
-viewDidDisplay:
可以在视图控制器出现并关闭的情况下多次调用。我相信他的意思是他不想让tableview出现滚动图像下方,并不是说图像实际上不是最上面的视图。他说,imageview位于单元格的“顶部”,但单元格可以在imageview下方滚动如果在
-viewdide:
中执行此操作,则需要注意的是,只能调用一次,因为
-viewdide:
可以在视图控制器出现并关闭时多次调用。所有解决方案都是正确的,非常感谢hypercrypt、El开发者、DanZimm和Yogev Shelly。但是现在需要一个答案:什么是最好的答案!!!?如果你想让它在任何时候都浮动,比如一个章节标题,就像通讯录中的字母一样,那么DanZimm的答案就是你想要的。如果你想让它在顶部,比如一个额外的行,随着表格视图向上滚动,那么我的是最好的。如果您不希望视图位于顶部(或底部),那么手动将子视图添加到视图层次结构中的答案是好的。如果苹果更改其实现,那么要正确地添加子视图会有点困难,并且可能会在未来的iOS版本中中断。因此,如果您想要这种定制行为,那么Yogev Shelly的选项1可能是最好的。所有解决方案都是正确的,非常感谢hypercrypt、El Developer、DanZimm和Yogev Shelly。但是现在需要一个答案:什么是最好的答案!!!?如果你想让它在任何时候都浮动,比如一个章节标题,就像通讯录中的字母一样,那么DanZimm的答案就是你想要的。如果你想让它在顶部,比如一个额外的行,随着表格视图向上滚动,那么我的是最好的。如果您不希望视图位于顶部(或底部),那么手动将子视图添加到视图层次结构中的答案是好的。如果苹果更改其实现,那么要正确地添加子视图会有点困难,并且可能会在未来的iOS版本中中断。因此,如果您想要这种定制行为,那么Yogev Shelly的选项1可能是最好的。
-numberOfSectionsInTableView:
是可选的。返回
1
的实现是多余的,因为默认情况下,表视图只有一个部分。为了完整性,无论如何实现它可能是好的,但您不需要它。
-numberOfSectionsInTableView:
是可选的。返回
1
的实现是多余的,因为默认情况下,表视图只有一个部分。为了完整性,无论如何实现它可能是好的,但是您不需要它。