所以,我試圖從圖像製作日曆。目標C/Autoresizing子視圖不工作
圖像的分辨率高於屏幕,所以我想到了將圖像加載到更大的視圖,將所有內容添加到它(作爲子視圖),調整視圖大小以適應屏幕顯示用戶,然後如果他決定保存圖像,將其重新調整爲更大尺寸並保存。 (它大部分按照我的意圖工作)。
我遇到的問題是我添加到我的ImageView不會調整子視圖。
的圖像加載到我的ImageView和啓用AutoresizesSubviews:
[self.backgroundImageView setImage:backgroundImage_];
[self.backgroundView setAutoresizesSubviews:YES];
添加上一個UILabel:
UILabel *calendarLabel = [[UILabel alloc] initWithFrame:CGRectMake(screenWidth_ * 0.1, 0, screenWidth_ * 0.8, screenHeight_ * 0.15)];
[calendarLabel setText:@"Calendar"];
[calendarLabel setTextColor:[UIColor whiteColor]];
[calendarLabel setTextAlignment:NSTextAlignmentCenter];
[calendarLabel setBackgroundColor:[UIColor clearColor]];
[self.backgroundImageView addSubview:calendarLabel];
保存應該調整到尺寸:
savedRect_ = self.backgroundView.frame;
調整imageview的大小(實際調整imageview的父級,因爲imageView佔據了誰le查看):
[self.backgroundView setFrame:savedRect_];
現在我不知道爲什麼這不按照我的意圖工作。
PS:做了一些測試,事實證明它是用編程方式添加的意見,然後用IB加入的影片略有不同。我有一種感覺,它與AutoresizingMask有關。
做了一些研究,我會想象我必須作出一切靈活(它可以在頂部,底部,左右兩側的寬度,高度,體量增長),但它仍然是行不通的。如果我啓用所有6,視圖不會移動。
誰能告訴我,我需要什麼設置,使這樣的意見,留在與他們的父視圖相同的位置?
讓我看看我正確地理解你想要什麼:你想讓你的imageView擁有一個大的圖像,使整個屏幕的框架獨立於圖像的大小? –
要麼我不明白正確,要麼不是我想要的。我想要一個與我的圖像大小相等的大視圖,在其上創建日曆,然後將該視圖(使用它的子視圖)縮小到屏幕大小,以便用戶可以看到它,如果他確實這樣做,我會將其增加回來到原始(大)尺寸並將其保存爲圖像。 (我必須進行縮小和放大,以便以更好的分辨率進行保存)。 –
請向我們展示當前和期望的輸出。什麼是子視圖?標籤? –