Posts

Post not yet marked as solved
0 Replies
370 Views
Hi, I'm having a hard time with interactively dismissing (swiping down) a view controller that it not nested in a UINavigationController and that has a ScrollView. Instead of swiping down, the scrollview just scrolls. When I have the view controller nested in a navigation controller, then the system somehow sees that the scroll view is scrolled to the top, and allows the user to pull down the whole view controller. What is the navigation controller doing here, what I need to re-implement in my view controller? Thanks for any hints!
Posted
by JohannesD.
Last updated
.
Post not yet marked as solved
2 Replies
4.7k Views
Hi, I'm trying to build a Notification Service Extension. When I run the application, I get the error: Embedded binary's bundle identifier is not prefixed with the parent app's bundle identifier. Embedded Binary Bundle Identifier:(null) Parent App Bundle Identifier: ##.#####.##### I have no idea why the identifier of the embedded bundle could be null. In the General tab of the extension, I have set it so that it has a common prefix with the parent app. In the Info tab, the value for Bundle Identifier is $(PRODUCT_BUNDLE_IDENTIFIER), and I cannot change that to anything else. Whenever I build, it goes back to this. Xcode Version 13.0 Any ideas?
Posted
by JohannesD.
Last updated
.
Post marked as solved
4 Replies
2.0k Views
Hi,I'm trying to use the new scrollEdgeAppearance in order to have a transparent navigation bar background when the table view is scrolled to the top. However, this seems only to work when I use large titles. Is this intended?navigationItem.title = "Test title" navigationItem.largeTitleDisplayMode = .never // <- This seems to break it let standardAppearance = UINavigationBarAppearance() standardAppearance.configureWithDefaultBackground() navigationItem.standardAppearance = standardAppearance // This appearance is never applied: let scrollEdgeAppearance = UINavigationBarAppearance() scrollEdgeAppearance.configureWithTransparentBackground() navigationItem.scrollEdgeAppearance = scrollEdgeAppearanceThanks!
Posted
by JohannesD.
Last updated
.
Post not yet marked as solved
0 Replies
393 Views
Has the MIDI Thru Connection API completely stopped working on iOS 14? I have two apps relying on that API, both are not able to route any MIDI anymore. The API does not give any errors when calling MIDIThruConnectionCreate. Any hints?
Posted
by JohannesD.
Last updated
.
Post not yet marked as solved
2 Replies
2.1k Views
In my ViewController, which is shown within a UINavigationController, I need the very old (pre iOS6) behaviour where the view does not extend under the navigation bar. For that, I set edgesForExtendedLayout = [], which works fine so far. I also have a UISearchController set in the navigationItem.The problem occurs in the following situation: The SearchController is active (i.e. text field has the focus), and another view controller is pushed. When I tap "back", the view of my view controller now suddenly extends under the navigation bar.Here is a minimal example:class TestViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() let searchViewController = UISearchController(searchResultsController: nil) searchViewController.obscuresBackgroundDuringPresentation = false view.backgroundColor = .red edgesForExtendedLayout = [] navigationItem.searchController = searchViewController definesPresentationContext = true navigationController?.view.backgroundColor = .green navigationController?.navigationBar.setBackgroundImage(UIImage(), for: .default) navigationController?.navigationBar.shadowImage = UIImage() let button = UIButton(type: .system) button.setTitle("Push", for: .normal) button.frame = .init(x: 10, y: 100, width: 100, height: 40) button.addTarget(self, action: #selector(self.pushViewController), for: .touchUpInside) view.addSubview(button) } @objc func pushViewController() { let nextViewController = UIViewController() navigationController?.pushViewController(nextViewController, animated: true) } } class AppDelegate: UIResponder, UIApplicationDelegate { func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool { let vc = TestViewController() let nc = UINavigationController(rootViewController: vc) window.rootViewController = nc window.makeKeyAndVisible() return true } }Any ideas?
Posted
by JohannesD.
Last updated
.
Post not yet marked as solved
0 Replies
1.6k Views
Hi,I have some parameters in my Audio Unit that depend on each other. For example, there is a note range parameter group which contains a „min" and a „max" parameter. Both parameters dependent on each other in the way that min should always be less than or equal to max. When one parameter is changed by the UI or by the host, I need to update the other one as well if the range would be invalid otherwise.Here is what I do: When I receive a AURenderEventParameter for the "min" parameter, I update the internal "min" value and, if needed, also the internal "max" value. This is all happening in the audio thread.My problem is that I don’t know how to „notify“ the system that the other value has changed, so that implementorValueProvider is called and the AUParameter gets updated. I could set the value on the parameter itself directly, but that would be an Objective C call in the audio thread. I actually don’t understand at all when implementorValueProvider is called. The docs say that it is called when the parameter’s value is known to be stale, but where is that information coming from? Is it assumed to be stale when a AURenderEventParameter was received?I’ve sent the dependentParameter properties of the Parameters, but this seems not to have the desired effect.Best,Johannes
Posted
by JohannesD.
Last updated
.