WatchKit控制項疊加達到類似addSubview的效果,watchkitaddsubview

來源:互聯網
上載者:User

WatchKit控制項疊加達到類似addSubview的效果,watchkitaddsubview

最近在玩Watch,通過研究watch的布局後發現,其InterfaceController原生布局只有橫向和豎向兩種,且控制項之間不能交疊,也無法addSubview那樣添加子控制項。

但是我在網易新聞中看到如下介面:

很好奇他的標題是如何做到疊在圖片上的,思考許久想到如下方案:
動態產生相應的圖片,直接處理出來。

這是我實現後的:

可以看到標題已經疊在了圖片之上。

處理具體方法步驟為:
1.在應用(手機中的那個應用)的AppDelegate的

- (void)application:(UIApplication *)application handleWatchKitExtensionRequest:(NSDictionary *)userInfo reply:(void(^)(NSDictionary *replyInfo))reply

方法中,建立imageView,並在做好合適的布局,add完相應的view之後的,利用功能,把view的作為圖片發送給watch。這樣這張圖片看起來就像是添加了子控制項的。

2.在watch端的InterfaceController中,拿到相應的圖片和其他資訊,做watch標準的布局。

[WKInterfaceController openParentApplication:userInfo reply:^(NSDictionary *replyInfo, NSError *error){        //主應用處理完後的回調,返回extension所需的資料        dispatch_async(dispatch_get_main_queue(), ^{            NSString *words = [replyInfo objectForKey:@"words"];            NSData *data = [replyInfo objectForKey:@"image"];            [_image setImageData:data];            [_label setText:words];        });    }];

其他的方案,也許在watch端直接處理也可以,不過效能上我個人偏向在手機端處理完提交過來更好一些,當然我們也要考慮watch和手機端資料轉送的速度和電量消耗問題,盡量小一些,圖片壓縮一些。

寫的比較簡單,講明了方法實現,具體的可以實踐一下玩一玩,歡迎大家留言交流。

著作權聲明:本文為博主原創文章,歡迎轉載但請保留文章出處。http://blog.csdn.net/u010124617

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.