전체 iPhone / iPad 앱의 배경 이미지 설정
어떤 viewcontroller에 있든 상관없이 내 앱의 배경으로 원하는 단일 이미지가 있습니다. 어떻게 수행합니까?
이미지에 배경을 설정하는 방법은 다음과 같습니다.
self.view.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"Background.png"]];
편집 : Felixyz가 말한 내용을 작성하려면 (Manni 덕분에) 대리인에서 다음을 수행하십시오.
window.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"Background.png"]];
그리고 이미지를 갖고 싶은 각보기에서 다음을 수행하십시오.
self.view.backgroundColor = [UIColor clearColor];
가지고있는 인터페이스의 종류에 따라 다릅니다. 탭? 내비게이션 기반? 그러나 일반적인 대답은 다음과 같습니다. 기본보기 앞 / 아래에 UIWindow에 UIImageView를 추가합니다. 그런 다음 메인 뷰 컨트롤러가 처리하는 모든 뷰를 투명한 배경으로 만듭니다. IB를 사용하는지 여부 또는 뷰 계층 구조가 어떻게 생겼는지 모른 채 더 구체적인 조언을 제공하기 어렵습니다.
내 앱에서 기본 배경색을 설정했습니다. 배경 이미지로이 작업을 수행 할 수 있습니다.
1 .: AppDelegate에서 UIWindow의 배경색을 설정합니다.
window.backgroundColor = [UIColor myBackgroundGray]; // own Category
2 .: 이제 다른 모든 뷰를 투명하게 만드십시오.
self.view.backgroundColor = [UIColor clearColor]; // = transparent
AppDelegate에서
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
다음 줄을 추가하십시오.
[self.window setBackgroundColor:[UIColor colorWithPatternImage:[UIImage imageNamed:@"background.png"]]];
뷰 배경을 다음과 같이 설정하면 [UIColor clearColor];
성능에 미치는 영향은 확실하지 않지만 비슷한 작업을 수행해야했고 잘 작동하는 UIImageView를 사용하게되었습니다 (C #에서는 작동하지만 obj-c에서는 동일하게 작동 함).
//Add the view controller first, to ensure proper order of views later.
Window.RootViewController = new UIViewController();
//create backdrop image view
var imageView = new UIImageView(Window.Bounds);
imageView.Image = UIImage.FromBundle("backdrop.jpg");
//insert into window.
Window.InsertSubview(imageView, 0);
이것은 방향 변경을 처리하지 않지만 제 경우에는 배경에 모션 효과 (예 : 시차)를 추가 할 수있었습니다.
배경은 모든 View 상속 개체의 속성입니다. 예를 들어 레이블, 버튼, 컨트롤러 및 앱 창에는 모두 배경이 있습니다. 전체 앱에 대해 완전히 bg가되도록하려면 컨트롤러에서 경로를 올라가 가장 "상단"(하단보기)보기를 찾고 배경을 원하는 이미지로 설정해야합니다.
그냥이 전화 assignbackground
에viewDidLoad
override func viewDidLoad() {
assignbackground()
}
func assignbackground(){
let background = UIImage(named: "background")
var imageview : UIImageView!
imageview = UIImageView(frame: view.bounds)
imageview.contentMode = UIViewContentMode.ScaleAspectFill
imageview.clipsToBounds = true
imageview.image = background
imageview.center = view.center
view.addSubview(imageview)
self.view.sendSubviewToBack(imageview)
}
나는 일반적으로이 기능을 사용하여 아이폰의 내비게이션 바와 겹치지 않도록합니다.
-(void)setImageBackground:(NSString*)imageName{
UINavigationController* navigationController = [self navigationController];
float height = navigationController.toolbar.frame.size.height;
CGSize size = self.view.frame.size;
size.height = size.height;
UIGraphicsBeginImageContext(size);
CGRect bounds = self.view.bounds;
bounds.origin.y = bounds.origin.y + height;
bounds.size.height = bounds.size.height-height;
[[UIImage imageNamed:imageName] drawInRect:bounds];
UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
self.view.backgroundColor = [UIColor colorWithPatternImage:image];
}
참고 URL : https://stackoverflow.com/questions/4915474/set-background-image-for-entire-iphone-ipad-app
'program story' 카테고리의 다른 글
JavaScript 비동기 콜백에서 발생한 예외를 포착 할 수 있습니까? (0) | 2020.12.04 |
---|---|
WPF에서 제출 버튼을 만드는 방법은 무엇입니까? (0) | 2020.12.04 |
T-SQL 하위 문자열-마지막 3 자 (0) | 2020.12.04 |
rabbitmq 관리 플러그인 (rabbitmq-plugins) 설치 방법 (0) | 2020.12.04 |
네임 스페이스 'std'의 'vector'가 유형 이름을 지정하지 않습니다. (0) | 2020.12.04 |