如何从 Xamarin.ios 访问 UIImagePickerController Shutter UiButton



我想从 xamarin.iOS 应用程序访问 Shutter UiButton所以我可以对它进行一些更改,但我找不到它。

所以我尝试在 xcode 中重新创建 UIImagePickerController 项目,我使用此代码找到了它,并且我能够进行更改。xamarin.iOS 是否有不同的视图层次结构?

 for (index,v) in self.imagePicker.view.subviews.enumerated()
                    {
                        print("layer (index) : (v)")
                        for (index2,vv) in v.subviews.enumerated()
                        {
                            print("layer (index, index2) : (vv)")
                            for (index3,vvv) in vv.subviews.enumerated()
                            {
                                print("layer (index, index2, index3) : (vvv)")
                                for (index4,vvvv) in vvv.subviews.enumerated()
                                {
                                    print("layer (index, index2, index3, index4) : (vvvv)")
                                    for (index5,vvvvv) in vvvv.subviews.enumerated()
                                    {
                                        print("layer (index, index2, index3, index4, index5) : (vvvvv)")
                                        for (index6,vvvvvv) in vvvvv.subviews.enumerated()
                                        {
                                            print("layer (index, index2, index3, index4, index5, index6) : (vvvvvv)")
                                            if (vvvvvv as? UIButton != nil)
                                            {
                                                var t =  String(describing:type(of:vvvvvv))
                                                if(t == "CUShutterButton")
                                                {
                                                    print("is button CUShutterButton")
                                                    (vvvvvv as! UIButton).setTitleColor(UIColor.red, for: UIControlState.normal)
                                                     (vvvvvv as! UIButton).backgroundColor = UIColor.red
                                                    v.frame = CGRect.init(x: 0, y: 0, width: 500, height: 500)
                                                    for (vvvvvvv) in vvvvvv.subviews
                                                    {
                                                          vvvvvvv.backgroundColor = UIColor.red
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }

图片:找不到 vs 中的 UiButton

Xamarin 没有不同的视图层次结构。您的问题出在这些方面:

                                                var t =  String(describing:type(of:vvvvvv))
                                            if(t == "CUShutterButton")

我不确定您是如何将其转换为 Xamarin(这也可能会影响结果(,但类类型的字符串描述可能会有所不同。所以你需要列出所有的字符串,找到正确的字符串并在你的if语句中使用它。

相关内容

  • 没有找到相关文章

最新更新