74 lines
1.9 KiB
Plaintext
74 lines
1.9 KiB
Plaintext
local baseCell = autoImport("BaseCell")
|
||
WebCell = class("WebCell", baseCell)
|
||
|
||
function WebCell:ctor(viewObj)
|
||
-- body
|
||
self.gameObject = viewObj
|
||
self:Init()
|
||
end
|
||
|
||
function WebCell:Init()
|
||
-- body
|
||
self.Btn = UIUtil.DirectFind("Btn",self.gameObject):GetComponent(UIEventListener)
|
||
self.BtnToggle = UIUtil.DirectFind("Btn",self.gameObject):GetComponent(UIToggle)
|
||
self.Label1 = UIUtil.DirectFind("Btn/DarkSprite/Label",self.gameObject):GetComponent(UILabel)
|
||
self.Label2 = UIUtil.DirectFind("Btn/LightSprite/Label",self.gameObject):GetComponent(UILabel)
|
||
end
|
||
|
||
function WebCell:SetData(data)
|
||
if not data then return end
|
||
if not data.liveName or not data.url then return end
|
||
self.data = data
|
||
self.Label1.text = data.liveName
|
||
self.Label2.text = data.liveName
|
||
|
||
self.Btn.onClick = function (go)
|
||
WebPanelProxy.Instance:ChooseWebCell(self.data.id)
|
||
end
|
||
end
|
||
|
||
function WebCell:ShowView()
|
||
-- print(self.data.id,self.data.liveName,self.data.url)
|
||
if self.webView then
|
||
self.webView:ShowToolBar(true)
|
||
self.webView:Show()
|
||
self.webView:Reload()
|
||
else
|
||
-- print("WebCell.ShowView()",self.data.url)
|
||
self.webView = WebView.new()
|
||
self.webView:CreateView(self.gameObject,self:GetInsets())
|
||
self.webView:ShowToolBar(true)
|
||
self.webView:Show()
|
||
self.webView:Load(self.data.url)
|
||
print(self.webView:GetUserAgent())
|
||
end
|
||
end
|
||
|
||
function WebCell:HideView(fade)
|
||
if self.webView then
|
||
self.webView:ShowToolBar(false)
|
||
self.webView:Hide(fade)
|
||
end
|
||
end
|
||
|
||
function WebCell:Clear()
|
||
if self.webView then self.webView:ClearCache() end
|
||
end
|
||
|
||
function WebCell:SelectCell(id)
|
||
if self.BtnToggle then
|
||
if id and id == self.data.id then
|
||
self:ShowView()
|
||
self.BtnToggle:Set(true)
|
||
else
|
||
self:HideView(false) -- 如果有過度效果的話,會出現有空窗的BUG
|
||
self.BtnToggle:Set(false)
|
||
end
|
||
end
|
||
end
|
||
|
||
function WebCell:GetInsets()
|
||
local anchor = WebPanelProxy.Instance:GetAnchor()
|
||
if not anchor then return end
|
||
return WebViewConfig.new(nil,FSWebView.GetInsets(anchor))
|
||
end |