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

2021-08-17 19:59:06 字數 1150 閱讀 2795

想製作乙個按鈕,類似於iphone 的輔助touch的那個小白點的按鈕。但是注意:千萬不能也做成小白點,可能會導致審核被拒。

不明白網路上查到的那些,為什麼會那麼複雜,涉及到那麼多的頁面。其實只要在要出現這個按鈕的控制器的.m檔案裡寫幾段**就可以解決,非常輕便,尤其適合開發新手。

首先,在想放這個button的vc裡,建立乙個成員物件。

@property (nonatomic,strong)uibutton *spbutton
然後就可以開始建立按鈕了,我寫成了乙個方法:

//建立可拖動、自動貼近邊緣的 事件上報按鈕

[self initaddeventbtn];

方法的具體內容:

-(void)initaddeventbtn
醉關鍵的部分來了,實現按鈕的移動事件處理:

- (void)handlepangesture:(uipangesturerecognizer *)recognizer

break;

case uigesturerecognizerstateended:

else

}elseelse

}}elseelse

}elseelse}}

//如果按鈕超出螢幕邊緣

if (stoppoint.y + self.spbutton.width+40>= screen_height)

if (stoppoint.x - self.spbutton.width/2.0 <= 0)

if (stoppoint.x + self.spbutton.width/2.0 >= screen_width)

if (stoppoint.y - self.spbutton.width/2.0 <= 0)

[uiview animatewithduration:0.5 animations:^];

}break;

default:

break;

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

}

至此就大功告成啦。裡面的一些方法、名稱,自行替換成你需要的。

WindowManager實現懸浮可拖動效果

現在360手機衛士有個流量統計的效果,開啟流量統計後,在桌面上會出現乙個顯示流量的窗體,在任何介面都可以自由拖動。模仿這個功能,做了乙個統計手機訊號強度的demo,介面效果如下 從上面的截圖可以看出,當開啟手機訊號懸浮框後,預設在右上角會出現乙個小窗體 乙個圖示加上乙個訊號強度 這個窗體附在鎖屏上 ...

桌面懸浮視窗(可拖動)

一 開發前原理簡述 桌面懸浮視窗,如360的清理加速等懸浮按鈕 呼叫windowmanager,並設定windowmanager.layoutparams的相關屬性,通過windowmanager的addview方法建立view,這樣產生出來的view根據windowmanager.layoutpa...

vue 懸浮框 可拖動

效果圖 首先是樣式布局 class ys float btn style ref div click onbtnclicked icon class su img src static clouddisk icon qiye.svg 第二步首次進入頁面時,按鈕應該處於乙個初始位置。我們在create...