Ios UITableViewCell的自定义选定背景视图比UISplitViewController上的主视图控制器宽
我有一个iPad应用程序,它的UISplitViewController总是显示在屏幕上。其主控制器是UITableViewController 我希望此UITableViewController上单元格的selectedBackgroundView溢出到detail ViewController中。大概是这样的: 我怎样才能做到这一点Ios UITableViewCell的自定义选定背景视图比UISplitViewController上的主视图控制器宽,ios,ipad,uisplitviewcontroller,Ios,Ipad,Uisplitviewcontroller,我有一个iPad应用程序,它的UISplitViewController总是显示在屏幕上。其主控制器是UITableViewController 我希望此UITableViewController上单元格的selectedBackgroundView溢出到detail ViewController中。大概是这样的: 我怎样才能做到这一点 如果我尝试设置红色箭头图像(即342px宽),它的大小将调整为320px。 我还尝试子类化UIImageView并覆盖setFrame以忽略任何试图调整图像大
如果我尝试设置红色箭头图像(即342px宽),它的大小将调整为320px。
我还尝试子类化UIImageView并覆盖setFrame以忽略任何试图调整图像大小的调用,但仍然没有成功 有什么想法吗?(2013年10月1日更新,使其在iOS7上运行) 感谢用户Erway软件对我的帮助 下面是我如何让代码工作的: 在UITableViewController上:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
// ...
UITableViewCell *cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"someId"];
UIImage *image = [UIImage imageNamed:@"image_name"];
SelectionImageView *imageView = [[SelectionImageView alloc] initWithImage:image];
[cell setSelectedBackgroundView:imageView];
[tableView setClipsToBounds:NO];
[[[cell contentView] superview] setClipsToBounds:NO];
// ...
}
下面是SelectionImageView的代码:
@interface SelectionImageView : UIImageView
@end
@implementation SelectionImageView
- (void)setFrame:(CGRect)frame
{
// 342 is the width of image_name
if (frame.size.width == 342.f) {
[super setFrame:frame];
}
}
@end
尝试将您能想到的所有视图上的所有
clipstobunds
属性设置为NO
。一旦你得到了一些有用的东西,就把它们一个接一个地取下来,直到你只剩下实现效果所需的最低限度的定制!非常感谢:)我将在答案中发布我的更新代码