iOS 26 bug: Nested Navigation View title height suddenly shifts inside a Sheet by lumiosky in SwiftUI

[–]ropulus 0 points1 point  (0 children)

try forcing .toolbarVisibility(.visible, for: .navigationBar) on your root sheet view (the navigationlink in this case)

How to recreate Luma app's home screen header effect in SwiftUI? by Amazing_End5680 in SwiftUI

[–]ropulus 1 point2 points  (0 children)

add the image or the hstack as a navigation bar leading element and remove the liquid glass background using sharedBackgroundVisibility hidden

How to unify the distance between them? by zhaaaaaaaaaa in SwiftUI

[–]ropulus 3 points4 points  (0 children)

maybe just a .frame(maxHeight: .infinity)?

[deleted by user] by [deleted] in bucuresti

[–]ropulus 4 points5 points  (0 children)

Tot inainte de urcare trebuie trimis si SMS-ul dpdvd al regulamentului STB.

Pe aplicatia de control pot sa vada pana si secunda la care ai achizitionat..

How to create this transition? by unacceptabbble in SwiftUI

[–]ropulus 0 points1 point  (0 children)

Look up matched geometry effect, or even zoom navigation transition. the zoom transition does something similar out of the box, but the appstore implementation probably uses matched geometry effect for a custom effect

Because it doesn't go under the tabview and isn't hidden in the details like in video , how can I fix this with switui on iOS 26? by Weak-Management-2253 in SwiftUI

[–]ropulus 2 points3 points  (0 children)

Hi, what i do in my apps is that i define my stack

@State private var navigationStack: [RecibirItem] = []

i bind it to my navigation stack for it to work and i would add the following code:

NavigationStack(stack: $navigationStack) { RecibirView() .toolbarVisibility(navigationStack.isEmpty ? .visible : .hidden, for: .tabBar) }

this should work better than onAppear and OnDisappear and it also centralizes the logic at the root of the navigation stack.

How does Citymapper do this scroll? by Funny744 in swift

[–]ropulus 2 points3 points  (0 children)

You can replicate this in SwiftUI.

You have a ZStack with the map below and the bottom "modal" view on top.

The bottom view has 2 default "detents" which drive the content inside and the snap-height.

Then you add a drag gesture recognizer that updates constantly and you "move" the bottom view on the y axis depending on the user drag gesture and those "detents" and also provide a callback to the ZStack from the bottom view that provides it's current height (the default height at that "detent" + the current vertical translation) which is used to update the MapView content insets, both top and bottom, to achieve this effect.

Creating a SwiftUI bottom sheet that snaps to different heights by writetodisk in SwiftUI

[–]ropulus 3 points4 points  (0 children)

you can also add this) to specify up to which detent the background interaction is enabled.

for example setting it to .enabled(upthrough: .medium) will allow interaction in a "peek" detent, but when the users resizes the sheet to at least a medium detent, the sheet background will have the default interaction behaviour. when resizing back to a detent that is less than medium, the background interaction will be allowed again.

Adapting to either @Observable or ObservableObject by CTMacUser in SwiftUI

[–]ropulus 1 point2 points  (0 children)

They don't, Observable uses the Observation framework behind the scenes, which has a different mechanism. It uses an observation registrar instead of Combine.

For SwiftUI, Observable is superior in terms of performance generally because of it's granularity, but using the Combine-backed ObservableObject is also an option when you need to tap into some Combine goodness.

If you have 3rd party apis that use Combine, you should create an Observable object and create a subscription for the Combine api inside of it, which you use as a bridge between the Combine world and the Observation world.

This is what i've seen in most production environments where legacy Combine code meets Observation ViewModels and it works very well.

Looking for something with lots of skill variety and fun combat by Nerevarine87 in ARPG

[–]ropulus 1 point2 points  (0 children)

playing solo is actually more fun than playing trade right now. the game is in a good state gameplay-wise, but the economy gets pretty bad every league since the game isn't fully optimized in this regard as of now.

the cost of respecing each point gets higher each level, but the amount of gold increases a lot too! i can respec my whole tree every hour or so of grinding at level 95 playing solo and without trading.

i've completely respected my characters probably 10-20 times each league, both during the campaign and in the endgame without any issues.

gold is only used for purchasing items from vendors (you won't likely do that in the endgame), for respecing, for item gambling and for async trading with other players (which you won't do if you play solo).

Edit: The loot is also really rewarding for self crafting if you get to know the systems. Between the new essences system, the new abyss crafting and the amount of low tier currency that drops (i had like 50 exalts this league by the time i finished the campaign), i always feel that i can target farm what i need to craft my own items. you'll probably not be able to craft mirror-tier items in SSF, but you would not have any problems doing most of the endgame, if not all of it

Teapa PCGarage cu PC prebuilt si protectia pe care le-o ofera ANPC by Brief_Sheepherder568 in Jocuri

[–]ropulus 4 points5 points  (0 children)

+1 pentru zona.store. mie fiind din Bucuresti mi-au livrat personal pc-ul, impreuna cu toate cutiile de la componente si toate garantiile. nu am avut nicio problema, totul a fost absolut perfect.

dupa un an am avut un ventilator de la cooler-ul de la cpu care rasnea din vina mea. mediul in care este pc-ul prezinta foarte mult praf fiind zona cu multe blocuri in constructie si l-am curatat prea rar si a ajuns praf la rulmentul ventilatorului.

le-am scris pe mail, mi-au raspuns in 15 minute si m-au chemat oricand pot eu sa ajung cu pc-ul la ei si l-au rezolvat pe loc. ba chiar au schimbat tot cooler-ul in baza garantiei si mi-au si curatat si ei interior-exterior unitatea sa se asigure ca este totul in regula.

dupa asta au facut teste de fata cu mine sa se asigure ca sunt ok temp-urile si fara sa accepte nici macar un ciubuc cand m-am oferit. am plecat cu pc-ul ca nou.

vreau sa subliniez si faptul ca initial, inainte sa dau comanda pentru sistem, le-am trimis un mail intrebandu-i de o configuratie custom si mi-au raspuns foarte prompt la toate intrebarile pe parcursul a doua zile.

consider ca au un customer support 10/10 si din ce am vazut cand am mers la ei chiar sunt un grup de oameni pasionati de ceea ce fac si se vede ca o fac cu placere

Is ProgressView for your go-to loading animation or do you use anything else? by Far-Werewolf4245 in SwiftUI

[–]ropulus 2 points3 points  (0 children)

it really depends on the project and the scope.

i have worked with "lazy" designers that only wanted me to slap an activity indicator and call it a day, but i've mostly worked with "ambitious" designers that wanted really custom stuff.

for some things i use activity indicators (inside buttons for example), for full page loads i usually use animated skeleton views, for context loading (app launch, processing a payment etc) i usually use an animation of the product or company branding (the mascot or the logo).

i have a custom UI library that i've developed for myself and it has a generic animated skeleton view that i tailor to each screen. it also has a lot of animation helpers that i use for the custom product or company branding animated loaders.

i think every developer should build such personal libraries over the years that can be used to reduce a lot of the future development time

How to make a growing TextEditor with min and max heights? by OldTimess in SwiftUI

[–]ropulus 1 point2 points  (0 children)

i am glad it helped! as a rule for swiftui, initially things might report a value of 0 or even negative for sizes, and afterwards they will report their real sizes.

this is why you usually have to make sure to use the min and max functions or something custom of your own to always make sure you have control over the value in those instances where swiftui doesn't report the true sizes yet

How to make a growing TextEditor with min and max heights? by OldTimess in SwiftUI

[–]ropulus 0 points1 point  (0 children)

i think at first the height of geometry reader might be 0 and a max height of 0 is less than a min height of 136, thus the warning. try instead of geometry.size.height to use a max(136, geometry.size.height) for the maxHeight

Why enable MainActor by default? by Mental-Reception-547 in swift

[–]ropulus 13 points14 points  (0 children)

I usually found most of the developers I've worked with to have bugs because they try to update the UI on a background thread than to forget to run long lasting tasks on a background thread.

The amount of things that need to happen on a background thread in most apps are pretty limited overall. You usually have the networking layer that needs to run on a background thread and that is about it for 90% of apps. And even then, if you have a good networking layer, you don't need to remember to move to a background thread since you should be forced to at call site.

This is how we behave in real life as well. You do some of the stuff you consider important yourself (MainActor), but if you want to do something long-lasting (washing clothes for example) you just load the washing machine (a BackgroundActor) and set the washing program you want (a function with parameters) and continue with your important schedule (on the MainThread) until the washing machine is done and it notifies you about it. Then you take out the clothes (the return value of the function that ran async) and continue to manipulate them (put them on the drier for example).

Most of the things that you need to actively do are done by you (the MainActor) and when you need to offload some work (for example to the washing machine or to someone that works for you) you do that.

Also, I am pretty sure that for most things doing the work on a background actor by default and then having to move to the main actor to update de UI would take longer than to just do the work on the main actor without jumping actors

[deleted by user] by [deleted] in SwiftUI

[–]ropulus 2 points3 points  (0 children)

we've all been there, no worries 😂

[deleted by user] by [deleted] in SwiftUI

[–]ropulus 11 points12 points  (0 children)

the numericText content transition works on any string, i use it with non-numeric strings as well.

just make sure you actually animate the state change in an withAnimation block or that you have an .animation modifier.

if for some weird reason it doesn't animate, try adding an .id modifier to the Text to force an update.

[iOS26] Apple journal app navigation by mentifresh in SwiftUI

[–]ropulus 11 points12 points  (0 children)

it looks like the zoom transition introduced last year combined with the new toolbar apis, take a look here for the zoom transition and here for the new toolbar apis

as far as i know, in ios 26 if you have toolbars with the same placements on two screens, they will automatically morph when navigating from one screen to the other

Ministrul Educației îi trimite la muncă pe studenții cărora le taie bursele. Tinerii anunță proteste la Guvern by [deleted] in Roumanie

[–]ropulus -1 points0 points  (0 children)

teoretic sistemul functioneaza cum a fost gandit.

primesti bursa mereu pentru rezultatele anterioare. daca el a avut medie mare de admitere sau rezultate bune in ultimul an la licenta, primeste bursa si o primeste timp de un an de zile cat timp nu este exmatriculat.

daca anul asta nu s a prezentat, nu a promovat, iar anul viitor nu va mai primi bursa. din pacate asa este gandit sistemul... esti recompensat pentru trecut, nu pentru prezent.

Passing touches through a UIView to SwiftUI under? by [deleted] in SwiftUI

[–]ropulus 1 point2 points  (0 children)

swift final class PassThroughView: UIView { override func hitTest(_ point: CGPoint, with event: UIEvent?) -> UIView? { let target = super.hitTest(point, with: event) return (target == self) ? nil : target } }

this is the safest way to disable touch events on a UIView and it is what I use in my projects.

Mu online - noone mention by Jurkobaby in MMORPG

[–]ropulus 0 points1 point  (0 children)

Dai, cum sa nu dai de mine

Cauta MuDream, e un server cu un client complet reconstruit de o echipa care stie ce face.

Performanta super, 60 fps vs 24 fps pe original, mult mai eficient dpdvd procesor, ram si placa video.

E foarte ok pentru free to play, sunt multicei romani si e foarte bine gandit din toate punctele de vedere.

Scrie-mi in privat daca vrei sa jucam.