iPhone UIScrollView如何正确缩放视图?目前为';s的高度调整不当
我在UIScrollView中有一个UITableView。我花了不少功夫才把它弄好 表格视图是640x350,我使用滚动视图从单元格的一端滚动到下一端。 滚动视图为320x350。 滚动视图的内容大小为640x350 我遇到了这个问题: 如果我将scrollView的最小缩放比例设置为0.5,则tableview的宽度现在会填满屏幕,但其高度仅为屏幕的一半当我缩小到0.5时,我希望tableview显示更多行。 首先,我想了解这是正确的行为,还是tableView的内容大小和帧操作的结果。tableview在interface builder中设置了所有弹簧和支柱,并应填充可用的框架。这是我几个月来第一次尝试缩放,我不记得它是如何与缩放一起工作的 有人能帮我了解我需要调整的地方和内容吗? 据我所知,我需要将代码放入iPhone UIScrollView如何正确缩放视图?目前为';s的高度调整不当,iphone,objective-c,uitableview,uiscrollview,Iphone,Objective C,Uitableview,Uiscrollview,我在UIScrollView中有一个UITableView。我花了不少功夫才把它弄好 表格视图是640x350,我使用滚动视图从单元格的一端滚动到下一端。 滚动视图为320x350。 滚动视图的内容大小为640x350 我遇到了这个问题: 如果我将scrollView的最小缩放比例设置为0.5,则tableview的宽度现在会填满屏幕,但其高度仅为屏幕的一半当我缩小到0.5时,我希望tableview显示更多行。 首先,我想了解这是正确的行为,还是tableView的内容大小和帧操作的结果。ta
scrollViewDidZoom:
中,以操纵tableView的框架和内容大小
另外,我正在从视图返回tableview以进行缩放:UIScrollView的方法您试图实现的是相当困难的 解决方案1此解决方案使用您的精确设置(UIScrollView内部的UITableView) 您说,当您将zoomScale设置为0.5时,您希望您的表视图垂直填充滚动视图。在0.5时,您的表视图必须为640x700,以便按照您的意愿填充UIScrollView。为此,在
scrollViewDidZoom:
上,必须将表视图的框架调整为640x700
- (void)scrollViewDidZoom:(UIScrollView *)scrollView
{
// No matter what the zoomScale is, the tableView will be zoomed accordingly
// Only zoom the height of the table
tableView.frame = CGRectMake(0, 0, 640, 350 / zoomScale);
// Also, update the contentSize
scrollView.contentSize = CGSizeMake(640, 350 / zoomScale);
}
如果为zoomScale=0.5
运行上述代码,则帧大小将为640x700
这只会更改表格的边框,而不会更改单元格的高度。这意味着,当您缩小时,在表格视图中还会看到更多的单元格
解决方案2仅使用UITableView
UITableView是UIScrollView的一个子类。这意味着它具有缩放和滚动的能力
从屏幕上所需大小的UITableView开始。然后,在加载内容后,修改contentSize并使其比您的帧宽。这将启用水平滚动
但是,UITableViewCell的边框会自动设置为tableview边框的宽度。您可以使用自定义UITableViewCell,使用
clipsToBounds=false
,绕过此设置。在其中,您将插入一个UIView,边框设置为所需的宽度和高度,并且没有自动重新设置大小的任务。当tableview将重新调整UITable的大小时eViewCell框架,这不会影响您的内部UIView。您是否知道UITableView
已经是UIScrollView
的一个子类?您是否尝试过使用UITableView
本身而不是在另一个UIScrollView
中执行此操作?是的,我知道。使表视图水平滚动是一个主要的问题ain,我很高兴有一个正在运行的设置。我建议您使用tableView的transform属性。您不需要使用scrollView。