Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
303 views
in Technique[技术] by (71.8m points)

ios - What is the best way to hand action sheet action with UITableview Longpress on Ipad

I have a tableview that present an alert when long pressed. It work fine on the iphone but on ipad I get the popover error. The problem is that the table is not a button and i have no button on the cell what is the best way to work around this? Please take a look at my code.

 func ipadPresentationAlert(button:UIButton, alertController:UIAlertController){
        if ( UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiom.pad ){
            if let currentPopoverpresentioncontroller = alertController.popoverPresentationController{
                currentPopoverpresentioncontroller.sourceView = button
                currentPopoverpresentioncontroller.sourceRect = button.bounds;
                currentPopoverpresentioncontroller.permittedArrowDirections = UIPopoverArrowDirection.up;
                self.present(alertController, animated: true, completion: nil)
            }
        }else{
            self.present(alertController, animated: true, completion: nil)
        }
    }
See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

You can replace your button by yourCell.

button:UIButton -> cell: UITableViewCell

On iPad, ActionSheet need a sourceView to be showed, so you can place your cell here as a fulcrum.

currentPopoverpresentioncontroller.sourceView = cell

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...