栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

UIMenuController没有显示菜单

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

UIMenuController没有显示菜单

//View controller class which is implementing TableViewCellDelegate//Make sure you do followng//subclass UITableViewCell using class name TableViewCell which has delegate//you link UITableViewCell in ViewController class with TableViewCell in Custom Class column in interface builder(storyboard)//In TableViewCell cell identifier you give name as Cell.class ViewController: UITableViewController,TableViewCellDelegate {    override func viewDidLoad() {        super.viewDidLoad()        // Do any additional setup after loading the view, typically from a nib.    }// tableview delegates  override  func numberOfSectionsInTableView(tableView: UITableView) -> Int // Default is 1 if not    {        return 1;    }    override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {        return 10    }     override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell     {        var cell = tableView.dequeueReusableCellWithIdentifier("Cell") as? TableViewCell        if cell == nil { cell = TableViewCell(style: UITableViewCellStyle.Value1, reuseIdentifier: "Cell")        }        cell?.delegate=self;        cell?.textLabel?.text="Cell text"        return cell!    }     func tableCellSelected(tableCell: UITableViewCell)     {        var longprss : UILongPressGestureRecognizer = UILongPressGestureRecognizer(target: self, action: Selector("display:"))        tableCell.addGestureRecognizer(longprss)     }    //end tableview delegate    // menu delegates    override func canBecomeFirstResponder() -> Bool {        return true    }    override func canPerformAction(action: Selector, withSender sender: AnyObject?) -> Bool    {        println(action);        if(action == Selector("deleteLine:") || action == Selector("editRow:"))        { return true;        }        else        { return false;        }    }    func deleteLine(sender: AnyObject?) {        println("delete line")    }    func editRow(sender: AnyObject?) {        println("edit row");    }    //end menu delegate    //action handler of longPressGesture    func display(gesture: UILongPressGestureRecognizer)    {        gesture.view?.becomeFirstResponder()        println("Is first responder")        var menu = UIMenuController.sharedMenuController()        var deleteItem = UIMenuItem(title: "Delete", action: Selector("deleteLine:"))        var editItems = UIMenuItem(title: "Edit", action: Selector("editRow:"))        menu.menuItems = [deleteItem ,editItems]        menu.setTargetRect(CGRect(x: 30, y: 8, width: 100, height: 50), inView: gesture.view!)        menu.setMenuVisible(true, animated: true)    }    override func didReceiveMemoryWarning() {        super.didReceiveMemoryWarning()        // Dispose of any resources that can be recreated.    }}//This is subclass of UITableViewCellprotocol TableViewCellDelegate{    func tableCellSelected( var tableCell : UITableViewCell)}class TableViewCell: UITableViewCell {    var delegate : TableViewCellDelegate?    override func awakeFromNib() {        super.awakeFromNib()        // Initialization pre    }    override func setSelected(selected: Bool, animated: Bool) {        super.setSelected(selected, animated: animated)        if((self.delegate) != nil)        { delegate?.tableCellSelected(self);        }        // Configure the view for the selected state    }}


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/371911.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号