iOS開發之實現可拖拽懸浮按鈕

2022-08-02 05:27:09 字數 1279 閱讀 7111

原理:

在按鈕上新增拖拽手勢uipangesturerecognizer,獲取手勢移動的偏移值,然後重新設定按鈕的位置為按鈕位置加上偏移值。

注意拖拽位置不要超出螢幕位置。最後移除手勢是現在在arc記憶體管理模式的規範**風格,類似的有在dealloc裡面移除通知、定時器。因為以前在mrc時候是手動建立記憶體,就必須手動釋放記憶體。現在是在arc記憶體管理模式下,不移除也沒關係,只不過是釋放早晚的問題。

例子://仿蘋果手機懸浮可拖拽按鈕

self.cartbtn= [uibuttonbuttonwithtype:uibuttontypecustom];

self.cartbtn.titlelabel.numberoflines= 0;

self.cartbtn.titlelabel.font= [uifontsystemfontofsize:12];

[self.cartbtnsettitle:@"   cart\n(可拖拽)"forstate:uicontrolstatenormal];

[self.cartbtnsettitlecolor:[uicolorwhitecolor] forstate:uicontrolstatenormal];

self.cartbtn.backgroundcolor= [uicolororangecolor];

[self.viewaddsubview:self.cartbtn];

[self.cartbtnmas_makeconstraints:^(masconstraintmaker*make)  elseif(center.x>= self.view.bounds.size.width-25)  elseif(center.y>= self.view.bounds.size.height-25) {

center.y= self.view.bounds.size.height-25;

[self.cartbtnsetcenter:center];

//設定位置

[ges settranslation:cgpointmake(0, 0) inview:self.view];

- (void)removepangesturerecognizer {

if(self.pangesrecognizer) {

[self.cartbtnremovegesturerecognizer:self.pangesrecognizer];

self.pangesrecognizer= nil;

- (void)dealloc {

[selfremovepangesturerecognizer];

IOS 實現可移動拖拽的View

在乙個大的view中,某個view元素可以在該view中自由拖動,但是不能超出該大view範圍。首先新增拖動gesture uipangesturerecognizer pangesturerecognizer uipangesturerecognizer alloc initwithtarget ...

iOS開發 新增乙個全域性懸浮按鈕

背景介紹 在普通的ios開發組中,一般測試機都不止一台,但是我們在開發的時候,不可能每台測試機時刻保持最新的 這就出現了乙個問題,當測試測出問題的時候,或者產品突然拿去點點看的時候出了問題 如果不知道當前的版本,可能不確定是什麼時候出的問題。解決方案 如果當前環境是測試服的時候,展示乙個全域性浮動標...

iOS懸浮 可拖動 自動吸附螢幕邊緣的按鈕製作

想製作乙個按鈕,類似於iphone 的輔助touch的那個小白點的按鈕。但是注意 千萬不能也做成小白點,可能會導致審核被拒。不明白網路上查到的那些,為什麼會那麼複雜,涉及到那麼多的頁面。其實只要在要出現這個按鈕的控制器的.m檔案裡寫幾段 就可以解決,非常輕便,尤其適合開發新手。首先,在想放這個but...