UITableView 배경 이미지
내 tableview의 배경으로 png 이미지를 설정하려고합니다. 다음 코드로 모두 괜찮습니다! 그러나 iPhone Simulator에서만. iPhone 장치에서 응용 프로그램을 실행하려고하면 tableview의 배경이 흰색 (또는 투명)으로 유지됩니다. 내가 배경색을 설정하려는 방식에 대해 뭔가를하십니까? 나는 다음까지 여러 가지 방법을 시도했지만 모두 같은 문제가 있습니다.
self.tableView.backgroundColor = [UIColor clearColor];
self.tableView.opaque = NO;
self.tableView.backgroundView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"TableViewBackground.png"]];
미리 감사드립니다!
다음 코드를 사용하십시오.
UIImageView *tempImageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"TableViewBackground.png"]];
[tempImageView setFrame:self.tableView.frame];
self.tableView.backgroundView = tempImageView;
[tempImageView release];
감사,
이 접근법이 더 깔끔하다고 생각합니다.
UIColor *background = [[UIColor alloc] initWithPatternImage:[UIImage imageNamed:@"TableBackground.jpg"]];
self.tableView.backgroundColor = background;
[background release];
간단하고 빠른 버전은
let tempImageView = UIImageView(image: UIImage(named: "yourImage"))
tempImageView.frame = self.tableView.frame
self.tableView.backgroundView = tempImageView;
이미지가 실제로 이름이 지정 TableViewBackground.PNG
되었습니까 (대문자에 유의)? iOS 장치에서는 대소 문자가 정확히 일치해야하지만 시뮬레이터에서는 정확히 일치 할 필요가 없습니다.
UIImageView *tempImageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"TableViewBackground.png"]];
[tempImageView setFrame:self.tableView.frame];
self.tableView.backgroundView = tempImageView;
[tempImageView release];
이것은 완벽하게 작동합니다. Jona의 Ravin에게 감사드립니다.
인터페이스 빌더에서 이미지를 첨부 할 수있는 IBDesignable tableview 하위 클래스
import UIKit
@IBDesignable
class DesignableTableView: UITableView {
@IBInspectable var backgroundImage: UIImage? {
didSet {
if let image = backgroundImage {
let backgroundImage = UIImageView(image: image)
backgroundImage.contentMode = UIViewContentMode.ScaleToFill
backgroundImage.clipsToBounds = false
self.backgroundView = backgroundImage
}
}
}
}
[TableView setBackgroundView:nil];
[TableView setBackgroundView:[[UIImageView alloc] initWithImage:[UIImage imageNamed:@"apple.png"]] ];
배경에 패턴 이미지를 사용하려는 경우에도 완벽하게 작동합니다.
UIImage *image = [UIImage imageNamed:@"something.png"];
self.tableView.backgroundView = nil;
self.view.backgroundColor = [UIColor colorWithPatternImage:image];
조금 늦었지만 해결책을 찾는 다른 모든 사람들에게 아마도. 의 viewDidLoad
방법 에서 다음 코드를 사용하여 해당 작업을 얻을 수 있습니다 UITableViewController
.
self.parentViewController.view.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"background.png"]];
self.tableView.backgroundColor = [UIColor clearColor];
또는 배경색 만 사용하여 :
self.parentViewController.view.backgroundColor = [UIColor scrollViewTexturedBackgroundColor];
self.tableView.backgroundColor = [UIColor clearColor];
그것을 알아내는 데 시간이 좀 걸렸지 만 이제는 매력처럼 작동합니다.
Objective-c 버전 :
cell.backgroundColor = [UIColor clearColor];
또한 이것을보십시오 : 투명한 배경으로 UITableViewCell을 만드는 방법
UIImageView *imageviewTemp = [[UIImageView alloc] init];
[(UIImageView *)imageviewTemp sd_setImageWithURL:[NSURL URLWithString:self.stringOfPassedImage]];
[imageviewTemp setFrame:self.tableView.frame];
self.tableView.backgroundView = imageviewTemp;
참고 URL : https://stackoverflow.com/questions/5825397/uitableview-background-image
'Program Tip' 카테고리의 다른 글
ostream을 표준 문자열로 변환 (0) | 2020.12.02 |
---|---|
SPAN_EXCLUSIVE_EXCLUSIVE와 같은 Span 플래그의 의미를 설명하십시오. (0) | 2020.12.02 |
post increment 연산자가 int를 반환하는 메서드에서 작동하지 않는 이유는 무엇입니까? (0) | 2020.12.02 |
if 문에서 여러 옵션 풀기 (0) | 2020.12.02 |
Qt 링커 오류 : "vtable에 대한 정의되지 않은 참조" (0) | 2020.12.02 |