小编P. *_*ami的帖子

MonoTouch中的简单UIPickerView(Xamarin)?

任何人都可以描述如何使用XCode在monotouch中创建UIPickerView并使用示例数据填充它吗?

我确实看过这里的例子:https://github.com/xamarin/monotouch-samples/blob/master/MonoCatalog-MonoDevelop/PickerViewController.xib.cs但这对我来说创建我的UIPickerView并不是很有帮助XCode.这是我到目前为止所拥有的:

public partial class StatusPickerPopoverView : UIViewController
{
    public StatusPickerPopoverView (IntPtr handle) : base (handle)
    {
        pickerStatus = new UIPickerView();
        pickerStatus.Model = new StatusPickerViewModel();
    }

    public StatusPickerPopoverView (): base ()
    {
    }

    public class StatusPickerViewModel : UIPickerViewModel
    {
        public override int GetComponentCount (UIPickerView picker)
        {
            return 1;
        }

        public override int GetRowsInComponent (UIPickerView picker, int component)
        {
            return 5;
        }

        public override string GetTitle (UIPickerView picker, int row, int component)
        {

            return "Component " + …
Run Code Online (Sandbox Code Playgroud)

c# objective-c uipickerview xamarin.ios ios

15
推荐指数
1
解决办法
2万
查看次数

SwiftUI 主列表可滚动标题视图没有部分?

有没有办法将视图放在列表标题中而不包含部分?表视图通常有一个名为的属性,tableHeaderView 它是整个表的标题,与节标题无关。

我试图拥有一个列表并能够像tableHeaderViewfrom一样滚动它UITableView

struct MyView: View {
    
    let myList: [String] = ["1", "2", "3"]
    
    var body: some View {
        VStack {
            MyHeader()
            List(myList, id: \.self) { element in
                Text(element)
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

ios swift swiftui swiftui-list

10
推荐指数
2
解决办法
9582
查看次数

Xamarin NSNotificatioCenter:我怎样才能通过NSObject?

我正在尝试使用NSNotificationCenter在我的应用程序中向另一个应用程序发布通知.所以在我的目标类中,我创建我的观察者如下:

NSNotificationCenter.DefaultCenter.AddObserver ("ChangeLeftSide", delegate {ChangeLeftSide(null);});
Run Code Online (Sandbox Code Playgroud)

我有我的方法:

public void ChangeLeftSide (UIViewController vc)
{
    Console.WriteLine ("Change left side is being called");
}
Run Code Online (Sandbox Code Playgroud)

现在从另一个UIViewController我发布通知如下:

NSNotificationCenter.DefaultCenter.PostNotificationName("ChangeLeftSide", this);
Run Code Online (Sandbox Code Playgroud)

如何在目标类中访问在发布通知中传递的视图控制器?在iOS中它是非常直接的,但我似乎无法找到我的方式在monotouch(Xamarin)......

c# xamarin.ios nsnotificationcenter ipad

9
推荐指数
2
解决办法
1万
查看次数

如何为VoiceOver排队多个辅助功能通知?

这是我通知系统以读出我的元素的方式:

UIAccessibilityPostNotification(UIAccessibilityAnnouncementNotification, cell)
Run Code Online (Sandbox Code Playgroud)

问题是当我发送多个通知时,已经在读取的通知会被打断!我希望能够排队...

我还在这里的另一个问题中发现,我应该使用属性字符串:

attributedString.addAttribute(NSAttributedStringKey(
    rawValue: UIAccessibilitySpeechAttributeQueueAnnouncement), 
    value: true, 
    range: range!.nsRange)
Run Code Online (Sandbox Code Playgroud)

我在这里想念什么?

ios uiaccessibility swift

7
推荐指数
2
解决办法
1147
查看次数

iOS Autolayout:将UILabel的左边缘与容器中的水平中心对齐?

所以我正在尝试使用如下所示的自定义UITableViewCell:

请参阅标题的第二列以及它们的左侧如何与中心对齐

我正在尝试将详细信息标签保持对齐,并将标题标签上的内容设置得更高.

所以我面临的挑战是我希望Title Cell上第二列的左边缘与整个视图的中心对齐.

有没有办法做到这一点?

uitableview ios autolayout

6
推荐指数
1
解决办法
4180
查看次数

如何在swift(Reflection/Mirror)中动态查找属性的类型?

所以,假设我有一个这样的类:

class Employee: NSObject {
    var id: String?
    var someArray: [Employee]?
}
Run Code Online (Sandbox Code Playgroud)

我使用反射来获取属性名称:

let employee = Employee()
let mirror = Mirror(reflecting: employee)
propertyNames = mirror.children.flatMap { $0.label } 
// ["businessUnitId", "someArray"]
Run Code Online (Sandbox Code Playgroud)

到现在为止还挺好!现在我需要能够找出每个属性的类型,所以如果我这样做employee.valueForKey("someArray"),它将无法工作,因为它只给我AnyObject类型.最好的方法是什么?特别是对于数组,我需要能够动态地告诉数组包含类型Employee.

reflection ios swift

5
推荐指数
1
解决办法
4424
查看次数

类似于 swift 中的结构的 NSClassFromString 吗?

我想知道如果我只知道结构体的名称(字符串格式),我该如何初始化它?

我知道对于类来说,可以使用NSClassFromString以下方法:

@objc(MyClass)
class MyClass: NSObject {
  var a: Int?
  var b: String?
}

let myClassType: NSObject.Type? = NSClassFromString("MyClass") as? NSObject.Type
let myClass = myClassType?.init() // this will be NSObject but in reality is MyClass
Run Code Online (Sandbox Code Playgroud)

我的问题是,有没有办法对结构做类似的事情?

struct MyStruct {
  var a: Int
  var b: String
}
Run Code Online (Sandbox Code Playgroud)

struct swift

5
推荐指数
0
解决办法
643
查看次数

SwiftUI 选择器标题?

我正在尝试使用Picker进行简单的选择。目前我正在使用.inline导航栏来显示标题。(这是我得到示例的地方https://www.hackingwithswift.com/quick-start/swiftui/pickers-in-forms

struct ContentView: View {
    var strengths = ["Mild", "Medium", "Mature"]

    @State private var selectedStrength = 0
    
    var body: some View {
        NavigationView {
            Form {
                Picker(selection: $selectedStrength, label: Text("Strength")) {
                    ForEach(0 ..< strengths.count) {
                        Text(self.strengths[$0])
                    }
                }
            }.navigationBarTitle("Parent Title", displayMode: .inline)
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

所以我的问题是,当我进入选择器时,没有标题? 截图1

当我尝试在PickerForEach什至Textforeach 内的 s 上设置内联标题时,父标题会被覆盖......

有没有一个好的方法来解决这个问题,或者我应该继续制作我自己的选择器(我们那里有任何好的简单的选择器)?

picker ios swiftui swiftui-picker

5
推荐指数
1
解决办法
3052
查看次数

如何从缩放图像中的UITapGestureRecognizer获取UIImage的坐标?

我有一个UIScrollView,里面有一个带图像的UIImageView.我希望能够缩放并仍然能够获得UIImage的坐标.我的图像的坐标大于iPhone屏幕600x800,并且使用当前的方法,我只获得iPhone屏幕上的坐标.如何获取已被点击的UIImage上实际位置的坐标?

这是我到目前为止所得到的:

- (void) loadView {

UITapGestureRecognizer *tapGesture = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapDetected:)];
tapGesture.numberOfTapsRequired = 1;
tapGesture.numberOfTouchesRequired = 1;


UIImage *mapImage = [UIImage imageNamed:@"Map1.png"];
imageV = [[UIImageView alloc] initWithImage:mapImage];
//imageV.userInteractionEnabled = YES;

//[imageV addGestureRecognizer:tapGesture];

//CGRect appFrame = [[UIScreen mainScreen] applicationFrame];
scrollV = [[UIScrollView alloc] initWithFrame:imageV.frame];
scrollV.contentSize = CGSizeMake(imageV.frame.size.width, imageV.frame.size.height);

[scrollV addGestureRecognizer:tapGesture];

[scrollV addSubview:imageV];
scrollV.userInteractionEnabled = YES;
scrollV.maximumZoomScale = 5;
scrollV.minimumZoomScale = 0.5;
scrollV.bounces = NO;
scrollV.bouncesZoom = NO;
scrollV.delegate = self;

self.view = scrollV;

}



-(void)tapDetected:(UIGestureRecognizer*)recognizer{
NSLog(@"tap detected.");
CGPoint point …
Run Code Online (Sandbox Code Playgroud)

iphone uiscrollview uiimageview uiimage uigesturerecognizer

3
推荐指数
1
解决办法
5984
查看次数

ALAsset valueForProperty:ALAssetPropertyLocation未声明?

这看起来似乎太容易了,也许这对我来说太困惑了......或许我太累了,无法理性思考.

我正在尝试使用imagePickerController获取用户从相册中选择的UIImage的位置.

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info
{
    UIImage *pic = [info objectForKey:@"UIImagePickerControllerOriginalImage"];
    NSData *data = UIImageJPEGRepresentation(pic, 0.01f);
    UIImage *image1 = [UIImage imageWithData:data];
    bookmarkImage.image = image1;

    NSLog(@"new image size = %i", [data length]);

    NSURL *url = [info objectForKey:@"UIImagePickerControllerReferenceURL"];
    4NSLog(@"%@",url);

    ALAssetsLibraryAssetForURLResultBlock resultBlock = ^(ALAsset *myAsset){
        [myAsset valueForProperty:ALAssetPropertyLocation];
    };

    [self dismissModalViewControllerAnimated:YES];
}
Run Code Online (Sandbox Code Playgroud)

现在,我尝试为ALAsset 调用valueForProperty是我遇到麻烦的地方.这是我得到的错误:

使用未声明的标识符'ALAssetPropertyLocation'.

请帮忙!这真的令人沮丧......我需要照片的位置......

iphone objective-c uiimagepickercontroller ios alasset

1
推荐指数
1
解决办法
4362
查看次数

在目标c中调用super.super上的方法?

所以我所拥有的是一个类层次结构,如下所示:

@interface MyClass : ParentClass

-(void)myMethod
{
    [super myMethod];
    // some specific operation
}

@end

@interface ParentClass : ParentParentClass

-(void)myMethod
{
    [super myMethod];
    // some specific operation
}

@end

@interface ParentParentClass : ParentParentParentClass

-(void)myMethod
{
    [super myMethod];
    // some specific operation
}

@end
Run Code Online (Sandbox Code Playgroud)

现在,让我们说,在MyClass,我想避免调用ParentClassmyMethod,而是要拨打的myMethodParentParentClass.

我该怎么做?

我已经尝试过铸造,super但这不起作用.

objective-c

1
推荐指数
1
解决办法
1977
查看次数