如何在IOS的SAP Fiori SDK中使用FUIListPickerFormCell

2020-09-02 02:52发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


我照原样跟踪文档,但是单击单元格更改值时总是会遇到异常。 执行不正确。

我还必须长按模拟器,正常按不执行任何操作。

下面是我的代码

 var propValue7:[Int] = [0]

         let valueOptions7 = [" YK道路","运输者B","运输者C"]

         让单元格= tableView.dequeueReusableCell(withIdentifier:FUIListPickerFormCell.reuseIdentifier,for:indexPath)为!  FUIListPickerFormCell

         打印(indexPath.row)

         cell.isEditable = true

//cell.keyName =" \(order.vehicleType),\(order.vehicleRoute),\(order.totalWeight.round(1)),-\(order.noOfVehicles)车辆"

//cell.value =" \(order.transporter)"

//让text = order.noOfVehicles == 1?  "车辆":"车辆"

         让vehicleString:字符串= order.noOfVehicles == 1?  "车辆":"车辆"

         cell.keyName =" \(order.vehicleType),\(order.vehicleRoute),\(order.totalWeight.round(1)),-\(order.noOfVehicles)\(vehicleString)"

         cell.value = propValue7

         cell.allowsMultipleSelection = false

         cell.valueTextField.text = descriptionForSelectedStrings(valueOptions7,at:propValue7)//参见下文

         cell.valueOptions = valueOptions7

         cell.listPicker.dataSource =无

         print(" \(cell.listPicker)")

//cell.listPicker.searchResultsUpdating = listPickerDataSource7

//cell.listPicker.isSearchEnabled = false

//cell.listPicker.prompt ="请选择多个项目"

//cell.delegate = DetailTableDelegate

        

//cell.listPicker.searchBar?.isBarcodeScannerEnabled = true

//cell.listPicker.searchBar?.barcodeScanner?.scanMode = .EAN_UPC

//cell.listPicker.searchBar?.barcodeScanner?.scanResultTransformer = {(scanString)->字符串输入

//返回self.transformStringToSearchBar(scanResultString:scanString)

//}

        //MARK:实现onChangeHandler

         cell.onChangeHandler = {[[unown self] newValue in

             propValue7 = newValue

         }
 

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


我照原样跟踪文档,但是单击单元格更改值时总是会遇到异常。 执行不正确。

我还必须长按模拟器,正常按不执行任何操作。

下面是我的代码

 var propValue7:[Int] = [0]

         let valueOptions7 = [" YK道路","运输者B","运输者C"]

         让单元格= tableView.dequeueReusableCell(withIdentifier:FUIListPickerFormCell.reuseIdentifier,for:indexPath)为!  FUIListPickerFormCell

         打印(indexPath.row)

         cell.isEditable = true

//cell.keyName =" \(order.vehicleType),\(order.vehicleRoute),\(order.totalWeight.round(1)),-\(order.noOfVehicles)车辆"

//cell.value =" \(order.transporter)"

//让text = order.noOfVehicles == 1?  "车辆":"车辆"

         让vehicleString:字符串= order.noOfVehicles == 1?  "车辆":"车辆"

         cell.keyName =" \(order.vehicleType),\(order.vehicleRoute),\(order.totalWeight.round(1)),-\(order.noOfVehicles)\(vehicleString)"

         cell.value = propValue7

         cell.allowsMultipleSelection = false

         cell.valueTextField.text = descriptionForSelectedStrings(valueOptions7,at:propValue7)//参见下文

         cell.valueOptions = valueOptions7

         cell.listPicker.dataSource =无

         print(" \(cell.listPicker)")

//cell.listPicker.searchResultsUpdating = listPickerDataSource7

//cell.listPicker.isSearchEnabled = false

//cell.listPicker.prompt ="请选择多个项目"

//cell.delegate = DetailTableDelegate

        

//cell.listPicker.searchBar?.isBarcodeScannerEnabled = true

//cell.listPicker.searchBar?.barcodeScanner?.scanMode = .EAN_UPC

//cell.listPicker.searchBar?.barcodeScanner?.scanResultTransformer = {(scanString)->字符串输入

//返回self.transformStringToSearchBar(scanResultString:scanString)

//}

        //MARK:实现onChangeHandler

         cell.onChangeHandler = {[[unown self] newValue in

             propValue7 = newValue

         }
 
付费偷看设置
发送
5条回答
奄奄一息的小鱼
1楼-- · 2020-09-02 03:36

您是否在tableview(:cellForRowAt)方法中本地定义了propValue7变量,还是在类中将其定义为属性? 您必须将其定义为类(或类所引用的对象)中的属性,以便在执行onChangeHandler方法时可以使用它。

问候,
佛罗里达

樱桃小丸子0093
2楼-- · 2020-09-02 03:24

是的。

如果您可以通过任何逐步教学来帮助我,或者可以列出所需的所有步骤,那将是非常有用的帮助。

对于我来说,文档不清楚或可能无法正常工作。

谢谢。

SAP砖家
3楼-- · 2020-09-02 03:39

根据注释中的请求,这里是表视图控制器的"快速而肮脏的"实现。 考虑到我确实删除了代码的某些部分(例如,cell.valueTextField.text属性的设置)。 您必须根据需要添加调整编码

导入UIKit
 导入SAPFiori

 TableViewController类:FUIFormTableViewController {

     var propValue7:[Int] = [0]
     var valueOptions7 = [" YK道路","运输车B","运输车C"]

     覆盖func viewDidLoad(){
         super.viewDidLoad()
        
         tableView.register(FUIListPickerFormCell.self,forCellReuseIdentifier:FUIListPickerFormCellCell.reuseIdentifier)
        
         tableView.estimatedRowHeight = 80
         tableView.rowHeight = UITableViewAutomaticDimension
     }

    //MARK:-表格视图数据源
     覆盖func numberOfSections(在tableView中:UITableView)-> Int {
         返回1
     }

     覆盖func tableView(_ tableView:UITableView,numberOfRowsInSection部分:Int)-> Int {
         返回1
     }

     覆盖func tableView(_ tableView:UITableView,cellForRowAt indexPath:IndexPath)-> UITableViewCell {
        
         让单元格= tableView.dequeueReusableCell(withIdentifier:FUIListPickerFormCell.reuseIdentifier,for:indexPath)为!  FUIListPickerFormCell
        
         打印(indexPath.row)
        
         cell.keyName ="车辆"
         cell.value = propValue7
         cell.allowsMultipleSelection = false
         cell.valueTextField.text =" ..."
         cell.valueOptions = self.valueOptions7
         cell.listPicker.prompt ="请选择一个值"
        
         cell.onChangeHandler = {[[unown self] newValue in
             self.propValue7 = newValue
         }

         返回单元
     }

 }
 
d56caomao
4楼-- · 2020-09-02 03:31

否,不需要UIKit的显式方式。

如果表视图控制器继承自FUIFormTableViewController,则表视图控制器将嵌入在导航控制器中,并且 编码匹配比文档(或上面的虚拟示例)中描述的匹配更有效。

Tong__Ming
5楼-- · 2020-09-02 03:22

我不能使用表格单元格而不将FUIFormTableViewController子类化吗? 因为我的viewcontroller必须嵌入UIview和tableview

一周热门 更多>