줄/rect를 단일보기로 그리는 방법을 알고 있습니다. 그러나 나는이 경우에 분실된다. 나는 UIView
A와 UITableView
을 가지고있다. A는 viewController의 뷰에 추가되고 B는 A에 추가된다. 알다시피, UITableView
은 테두리가 없으므로 나는 선을 그리려고한다.UITableView 주위에 선을 그리는 방법
if (_tableView) {
[_tableView release];
_tableView = nil;
}
UITableView * temp = [[UITableView alloc] initWithFrame:tableRect style:UITableViewStylePlain];
temp.delegate = self;
temp.dataSource = self;
temp.showsHorizontalScrollIndicator = NO;
temp.alwaysBounceHorizontal = NO;
self.table = temp;
[temp release];
temp = nil;
[self.table setContentInset:UIEdgeInsetsMake(1, 2, 0, 2)];
[_transparencyView addSubview:self.table];
[self.parentViewController.view addSubview:_transparencyView];
[_transparencyView setNeedsDisplayInRect:tableRect];
_transparencyView
는 UIView
로부터 상속 ZJTransparencyView
의 인스턴스이며, 그 파일처럼 구현 :
- (id)initWithFrame:(CGRect)frame
{
self = [super initWithFrame:frame];
if (self) {
// Initialization code
}
return self;
}
// Only override drawRect: if you perform custom drawing.
// An empty implementation adversely affects performance during animation.
- (void)drawRect:(CGRect)rect
{
NSLog(@"%s:%@",__func__,NSStringFromCGRect(rect));
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextSetStrokeColorWithColor(context, [UIColor cyanColor].CGColor);
CGContextSetLineWidth(context, 2);
CGContextStrokeRect(context, rect);
}
B. 의 경계를 따라 아래 나는이 의견을 정리하는 방법 코드입니다 내가 만난 문제는 다음과 같습니다. 테이블 뷰를 추가하고 setNeedsDisplayInRect:
을 호출하면 drawRect:
으로 전송되는 rect는 항상 {0,0,320,460}입니다. tableRect는 아무 효과가없는 것 같습니다. 나는 그것이 왜 일어나는 지 모른다. 누구도 도와 줄 수 있습니까?
이 내가 필요로하는 것입니다. 실제로 나는
layer
을 사용하고 싶지만 그 방법을 찾지 못했습니다. 감사. – scorpiozj