我有一个iPad应用程序,UISplitViewController始终显示在景观上。它的主控制器是UITableViewController。
我想让这个UITableViewController上的单元格的selectedBackgroundView溢出到详细信息ViewController中。像这样:
我该怎么做?
如果我尝试设置红色箭头图像(宽342像素),则会将其调整为320像素。
我还尝试子类化UIImageView并重写setFrame来忽略任何尝试调整其图像大小的调用,但是仍然没有运气。
有任何想法吗?
最佳答案
(于2013年10月1日更新,使其可以在iOS7上使用)
感谢用户Erway Software的帮助。
这是我获得代码的方式:
在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
关于ios - UITableViewCell具有自定义的selectedBackgroundView,其宽度大于UISplitViewController上的主 View Controller ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15887836/