Ios UITableViewCell的自定义选定背景视图比UISplitViewController上的主视图控制器宽

Ios UITableViewCell的自定义选定背景视图比UISplitViewController上的主视图控制器宽,ios,ipad,uisplitviewcontroller,Ios,Ipad,Uisplitviewcontroller,我有一个iPad应用程序,它的UISplitViewController总是显示在屏幕上。其主控制器是UITableViewController 我希望此UITableViewController上单元格的selectedBackgroundView溢出到detail ViewController中。大概是这样的: 我怎样才能做到这一点 如果我尝试设置红色箭头图像(即342px宽),它的大小将调整为320px。 我还尝试子类化UIImageView并覆盖setFrame以忽略任何试图调整图像大

我有一个iPad应用程序,它的UISplitViewController总是显示在屏幕上。其主控制器是UITableViewController

我希望此UITableViewController上单元格的selectedBackgroundView溢出到detail ViewController中。大概是这样的:

我怎样才能做到这一点
如果我尝试设置红色箭头图像(即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
。一旦你得到了一些有用的东西,就把它们一个接一个地取下来,直到你只剩下实现效果所需的最低限度的定制!非常感谢:)我将在答案中发布我的更新代码